0
現在、一部のセルを更新するためにADODB接続を使用しています。更新は正常に動作します(適切な行が更新されます)。しかし、値をペーストすると、アポストロフィ(5の代わりに5)が追加されます。これは、適切にフォーマットまたは追加できないことを意味します。私は置換を使用しようとしましたが、アポストロフィを見つけることができず、私はval()を使用しようとしましたが、これまで運がありませんでした。ADODB接続のExcel VBAは値の代わりにテキストを生成します
すべての変数(sheet、tableAddressBなど)は正常に動作していますが、この場合は単に数値として更新されていない '5'です。
Dim cn As New ADODB.Connection
Dim strSQL As String
Dim tableAddressB As String
Set cn = New ADODB.Connection
cn.ConnectionString = "Provider=Microsoft.ACE.OLEDB.12.0;Data Source=" & ActiveWorkbook.Path & Application.PathSeparator & ActiveWorkbook.Name & ";Extended Properties=""Excel 8.0;HDR=No;"";"
cn.Open
tableAddressB = Sheet & "$" & Range(Sheet & "Details").Address(False, False)
strSQL = "Update [" & tableAddressB & "] Set [" & tableAddressB & "].F5 = 5 " & _
"Where [" & tableAddressB & "].F3 between #1/1/2016# and #3/1/2016#"
cn.Execute strSQL
cn.Close
ありがとうございました!
列のデータ型は、更新を行う前にワークブックから決定されます。更新を行う前に 'F5'に何かありますか? 'F'欄に数字以外のものがありますか?そこにダミー0を入れてみてください。 –
私はあなたがちょうどセルをフォーマットすることができると思いますか?これが前面にある場合は、テキストとしてフォーマットされます。 http://www.excelhowto.com/macros/formatting-a-range-of-cells-in-excel-vba/ – Niclas
おかげです。 –