我一直在嘗試使用VBA將VLookup
公式插入到列中。 Table_array
是可變的並且每個月都在變化,所以我想要一個對話框來指定我想要使用的文件。該Table_array
是相同的格式每個月和我的公式至今如下:VBA VLookup允許用戶選擇目錄上的文件名
Sub VlookupMacro()
Dim FirstRow As Long
Dim FinalRow As Long
Dim myValues As Range
Dim myResults As Range
Dim myFile As Range
Dim myCount As Integer
Set myFile = Application.GetOpenFilename("Excel Files (*.xls), *.xls")
Set myValues = Application.InputBox("Please select the first cell in the column with the values that you're looking for", Type:=8)
Set myResults = Application.InputBox("Please select the first cell where you want your lookup results to start ", Type:=8)
Range(myResults, myResults.Offset(FinalRow - FirstRow)).Formula = _
"=VLOOKUP(" & Cells(FirstRow, myValues.Column) & ", myFile.value($A$2:$B$U20000), 5, False)"
If MsgBox("Do you want to convert to values?", vbYesNo) = vbNo Then Exit Sub
Columns(myResults.Column).Copy
Columns(myResults.Column).PasteSpecial xlPasteValues
Application.CutCopyMode = False
End Sub
我的時刻,代碼沒有進行過Set = myFile
線得到一個問題與「MYFILE」。任何建議或修改將是最受歡迎的。除此之外,變量文件將永遠不會超過20000行(這就是爲什麼我已修復公式中的範圍),並且我們將始終提取第5列。
+ 1是的,這將有助於。但是'GetOpenFileName'不一定會返回一個字符串。 – 2012-07-18 16:23:19
謝謝悉達思,我已經稍微糾正了我的答案 – JMax 2012-07-18 17:26:33