Я пытаюсь создать макрос, который включает в себя VLOOKUP, но файл VLOOKUP будет меняться каждый раз. Я хотел бы, чтобы ссылочный файл в VLOOKUP был переменной. В идеале макрос будет предлагать пользователю выбрать файл, из которого они хотят VLOOKUP. Пока у меня это есть, но он, похоже, не работает ... («тест» - это то, что назван листом).Повторное использование макроса VLOOKUP
Sub VLOOKUP()
Application.ScreenUpdating = False
Dim myFilename As String
MsgBox "Please choose file with name to use in VLOOKUP formula.", vbOKOnly, "Choose file"
myFilename = CStr(Application.GetOpenFilename)
Range("M12").FormulaR1C1 = "=VLOOKUP(RC[-11],'[" & myFilename & "]test'!C9:C10,2,0)"
End Sub
Однако VLOOKUP в ячейке не показывает, как это должно быть. например
=VLOOKUP(B12,'[G:\OPS\National Pricing Data And Risk\Vehicle Pricing\VP Work\Gareth\Even Newer Toyota Macro Test\[Z401 Toyota Test COMPLETE.xlsx]test]Z401 Toyota Test COMPLETE.xlsx]'!$I:$J,2,0)
Я не уверен, где дополнительный] Z401 Toyota Test COMPLETE.xlsx] откуда. Есть что-то, чего я не вижу/не делаю правильно?
Edit:
Sub VLOOKUP()
Application.ScreenUpdating = False
Dim fullPath As String
Dim tmpName As String
Dim tmpPath As String
Dim myFilename As String
fullPath = "G:\OPS\National Pricing Data And Risk\Calculators, Docs, Templates & Guides\Toyota Macros.xlsm"
tmpName = fso.GetFileName(fullPath)
tmpPath = fso.GetParentFolderName(fullPath)
myFilename = tmpPath & "\[" & tmpName & "]"
Range("M12").FormulaR1C1 = "=VLOOKUP(RC[-11],'[" & myFilename & "]test'!C9:C10,2,0)"
End Sub
Что происходит в качестве 'myFilename' после того, как вы назначили его? В коде нет ничего, что показывало бы, почему это будет отображаться так. –
Я ошибся в редактировании сообщения. Пожалуйста, отредактируйте и перепечатайте последнюю (ошибочную) формулу –
Отредактировано и перепечатано – Gareth