Назначьте имена книг с помощью Inputboxes, создавая DIMS - PullRequest
0 голосов
/ 11 октября 2019

Я пытаюсь создать макрос, который первоначально получит 2 имени рабочей книги (имена файлов) через поля ввода, создаст dim для каждой рабочей книги, а затем скопирует определенные ячейки из рабочей книги1 в рабочую книгу2.

У меня копирование между листами в порядке, но мне нужна помощь с полями ввода, относящимися к dims.

Я вытащил какой-то код из другого места и отредактировал его, насколько мне известно, для моегопотребности, но я не могу заставить его работать. Присвоение переменной имени рабочей книги с помощью Inputbox VBA

Я довольно новичок в dim, так что я уверен, что я что-то там упустил.

Sub copytoworking()

Dim wb As Workbook
Dim X As String
X = InputBox("What is this Working workbook's name?")
Set wb = Workbooks(X)
With Workbooks(X & ".xlsx")

Dim wb2 As Workbook
Dim Y As String
Y = InputBox("What is the source data workbook's name?")
Set wb2 = Workbooks(Y)
With Workbooks(Y & ".xlsx")

'copying between sheets code is here

End With
End With
End Sub

Сейчас я получаю ошибку '9' на Set wb = Workbooks(X).

1 Ответ

0 голосов
/ 12 октября 2019

В InputBox вы вводите значение, такое как -

 "C:\Users\HP\Documents\EbayPrice"

Следующее не идеально, но оно должно привести вас в правильном направлении. Вам, вероятно, нужно установить некоторые проверки, чтобы не открывать файл, отличный от Excel, и в случае, если вы нажмете Отмена вместо выбора файла.

 Dim wb, wb2, wbname, wb2name As String
    wb = Application.GetOpenFilename()
    wb2 = Application.GetOpenFilename()
    Workbooks.Open Filename:=wb
    wbname = ActiveWorkbook.Name
    Workbooks.Open Filename:=wb2
    wb2name = ActiveWorkbook.Name
    Windows(wbname).Activate
    Windows(wb2name).Activate 
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...