1
我在新工作中學習VBA,並分配了一個涉及在大約100個工作簿中檢查值的項目。該值包含在100個工作簿中的每一箇中具有相同名稱的工作表中的同一單元格(I12)中。是否有可能使用SQL以某種方式將每個工作簿中的單元格的值傳遞給變量,以便我可以比較它們?我當前的代碼打開了每個工作簿以比較值,這些工作可行但非常耗時。在同一單元格和同一張工作表中爲多個Excel工作簿查找值
我在新工作中學習VBA,並分配了一個涉及在大約100個工作簿中檢查值的項目。該值包含在100個工作簿中的每一箇中具有相同名稱的工作表中的同一單元格(I12)中。是否有可能使用SQL以某種方式將每個工作簿中的單元格的值傳遞給變量,以便我可以比較它們?我當前的代碼打開了每個工作簿以比較值,這些工作可行但非常耗時。在同一單元格和同一張工作表中爲多個Excel工作簿查找值
如果只是一個Cell,您可能想嘗試ExecuteExcel4Macro?
喜歡的東西:
Sub Test()
Dim fexcel
Dim fpath As String, fval As String, aval
fpath = "C:\Users\User.Name\FolderName\" '~~> change to suit
fexcel = Dir(fpath, vbNormal)
Do While fexcel <> ""
'~~> Sheet1 should be the sheet name, R12C9 is I12 in R1C1 notation
fval = "'" & fpath & "[" & fexcel & "]Sheet1'!R12C9"
aval = ExecuteExcel4Macro(fval)
'~~> Do your comparison here or dump information in an array
fexcel = Dir
Loop
End Sub
是實際的Excel工作簿或CSV文件的文件? (SQL不是你的答案,順便說一句) – 2014-10-10 14:41:18
SQL不會在這裏幫助。我的意思是......你可以使用SQL來查詢每個工作簿,但是每個工作簿都像它自己的數據庫一樣工作,所以你將不得不建立100個連接,100個記錄集和... yuck。 – JNevill 2014-10-10 14:41:27