Я пытаюсь вставить формулы в свой лист, но мои первая и вторая попытки не увенчались успехом.
Итак, сначала я подумал, что для точности лучше использовать функцию GetOpenFilename вместо того, чтобы пользователь сам вводил имя книги.Я использовал эту страницу и этот ответ во время написания.Когда я запускаю код, открывается диалоговое окно Открыть, но когда я выбираю рабочую книгу, я получаю:
«Ошибка времени выполнения« 424 »: требуется объект».
Я не уверен, что он просит?Сначала у меня было только Application.GetOpenFilename()
, поэтому я подумал, что нужно добавить фильтр, но это не помогло.
Sub openfile()
Dim mainwb As Workbook
Set mainwb = Application.GetOpenFilename("Microsoft Excel Files, *.xls*")
Dim mainws As Worksheet
mainws = InputBox("Please enter the name of the worksheet")
Dim rdsMonthly As Variant
rdsMonthly = InputBox("Please insert current month column in format $A:$A")
Dim rdsID As Variant
rdsID = InputBox("Please insert ID column in format $A:$A")
Cells(8, 14) = "=IFERROR(SUMIFS('[" & mainwb & "]" & mainws & "'!" & rdsMonthly & ", '[" & mainwb & "]" & mainws & "'!" & rdsID & ", $C55), " & Chr(34) & Chr(34) & ")"
End Sub
После этого я попытался вместо этого использовать поле ввода
Dim mainwb As Workbook
mainwb = InputBox("Please enter the name of the workbook, including file extension")
Но это дает мне:
"Ошибка времени выполнения '91': объектпеременная или переменная блока не установлена ".
Понятия не имею, чего он от меня хочет, и я очень признателен за любую помощь!