初めてExcelを起動、編集、保存するAccess DBがありますが、複数のファイル(または同じファイルを2回) "実行時エラー '1004'で失敗しました:メソッド 'Cells'オブジェクト '_Global'が失敗しました。VBAにアクセスしてExcelを開く、編集する、保存する
DBを閉じてから再度開くと、変更された最初のファイルに対して正常に動作します。
私はVBAの新人ではありませんが、私は初心者だと言います。ここでは、私が使用しているコードのスニッピです:
Code:
'Open spreadsheet and make it visible
Set xl = CreateObject("Excel.Application")
strInputFile = varItem
xl.Workbooks.Open strInputFile
xl.Visible = True
'Trying to get row count here but not working yet
'Set myRange = xl.Sheets("Sheet1").Range("C:C")
'lRowCount = Excel.Application.WorksheetFunction.CountA("Sheet1").Range("C:C")
'lRowCount = xl.WorksheetFunction.CountA(Worksheets("Sheet1").Cells(C, C))
'Debug.Print lRowCount
'strMyRange = "C:C"
'lRowCount = xl.WorksheetFunction.CountA(strMyRange)
'Debug.Print lRowCount
'lRowCount = Excel.Application.WorksheetFunction.CountA(Workbooks(strInputFile).Sheets("Sheet1").Range("C:C"))
'Debug.Print lRowCount
'Make the changes
j = 0
If Left(strFile, 4) = "xxxx" Then
myPath = "\\a\path\for\xxxx"
If InStr(1, strFile, "IQ") Then
For i = 1 To 500 'Row count not working yet
If InStr(1, Cells(i, "C").Value, myVariable) > 0 Then
Cells(i, "B") = "New Value"
j = j + 1
End If
Next
End If
End If
'Clean up
xl.Quit
Set xl = Nothing
Set objInputFile = Nothing
への参照を追加することを忘れないでください? –
InStr(1、Cells(i、 "C")。Value、myVariable)> 0 Then – JDH
正に私はなぜそれがまったく機能するのか分かりません。このコードがExcelからコピーされたように見えます。 Accessでは、Cellのような直接呼び出しは機能しません。 'xl.Sheets(" Sheet1 ")のような変数を使うセル(i、" C ")' –