我是VB新手腳本,所以請耐心等待!我正在嘗試創建一個使用兩個不同Excel工作簿的工作表的腳本。它打開第一張工作表並遍歷指定的範圍。然後,我希望它獲取該範圍內每個單元格的值,並搜索第二個工作表(在不同的工作簿中)並搜索第一個工作表中找到的值,如果找到該值,則返回細胞它是在發現,例如:VBScript從另一個工作簿查找Excel工作簿的價值
Worksheet1
╔══════╦═════╗
║ Name ║ Age ║
╠══════╬═════╣
║ Matt ║ 22 ║
║ Jeff ║ 13 ║
╚══════╩═════╝
Worksheet2
╔═══════╦════════════╗
║ Name ║ DOB ║
╠═══════╬════════════╣
║ Dave ║ 09/12/2001 ║
║ Frank ║ 01/25/1992 ║
║ Jeff ║ 10/10/2013 ║
╚═══════╩════════════╝
所以該腳本將輸出:A4
因爲它發現從在第二工作表中的第一個工作表的指定範圍(A2:A3
)的值中的一個,並返回該單元的位置。
這裏是我的代碼:
Set objExcel = CreateObject("Excel.Application")
objExcel.Visible = True
Dim val
Set objWorkbook = objExcel.Workbooks.Open("C:\Users\username\file.xlsx")
Set objWorksheet = objWorkbook.Worksheets("Sheet1")
Set objWorkbook2 = objExcel.Workbooks.Open("C:\Users\username\file2.xlsx")
Set objWorksheet2 = objWorkbook2.Worksheets("Sheet1")
For Each c In objworksheet.Range("A2:A3").Cells
val = c.value
Set objRange = objWorksheet2.UsedRange
Set found = objRange.Find(val)
Wscript.Echo found.AddressLocal(False,False)
Next
當我運行這段代碼,我得到以下錯誤:
Error: Object required: 'found'
我相信有一些明顯我是缺少在這裏,但我一直在旋轉我的車輪相當長的一段時間,並希望有人可以提供一些反饋。任何幫助是極大的讚賞!
感謝您進行格式編輯@Bond! – user3736073