Это кажется простой проблемой, но я не могу найти решение, которое работает.По сути, в моем коде прямо сейчас рабочая книга жестко закодирована как ее имя.
Однако я хочу иметь возможность изменять имя в зависимости от того, что пользователь вводит в конкретную ячейку;вместо рабочих книг («OH Detail v13»), это будут рабочие книги («все, что находится в ячейке C2 листа FilePath»)
Dim openbook As Workbook
Dim xpath As String, xfile As String, xext As String
xpath = Sheets("FilePath").Range("C2").Value 'This is where there is the workbook name I want to be dynamic
xfile = "\" & Sheets("FilePath").Range("C3").Value
xext = ".xlsx"
Set openbook = Workbooks.Open(xpath & xfile & xext) 'This works
`This is where I want the dynamic Workbook name:
Workbooks("OH Detail v13").Sheets("Invoices").Select
ActiveSheet.PivotTables("Invoices").PivotSelect "", xlDataAndLabel, True
Selection.Copy 'Copied into the workbook where the code is
Workbooks("OH Details_v2").Sheets("Data").Range("A1").PasteSpecial Paste:=xlPasteValues
я попытался добавить:
Dim wsOG As Workbook
Set wsOG = Workbooks(xpath)
wsOG.Sheets("Invoices").Select
И это дает мне ошибку: переменная объекта или переменная блока не установлена