Я некоторое время пытаюсь вызвать процедуру (под) с аргументами, расположенными на другом листе. Я могу вызвать процедуру на другом листе. Я могу вызвать процедуру с аргументами. Но сочетание двух причин вызывает у меня головную боль.VBA: вызов субфайла на другом листе с несколькими аргументами
Вот что я сейчас:
Private Sub Workbook_Open()
Call Sheet2.FillCombo("Mngt Dashboard", "ComboMonth")
'Sheet2.FillCombo"Operational Dashboard", "ComboMonth2"
End Sub
Я попробовал оба syntaxis для вызова процедуры, но как результат 'подстрочный из диапазона (9). Вот процедура вызывается (находится на sheet2):
Sub FillCombo(SheetName As String, ObjName As String)
Dim objCombo As Object
Set objCombo = ActiveWorkbook.Sheets(SheetName).OLEObjects(ObjName).Object
objCombo.Clear
objCombo.AddItem.....
...
End Sub
Есть ли кто-то там, что может показать мне свет?
Заранее спасибо, Марк
Код отлично. Эта ошибка означает, что один из аргументов неверен. – Rory
Можете ли вы убедиться, что имя рабочего листа и комбомонта на самом деле «Mngt Dashboard» и «ComboMonth»? –
Также избегайте использования 'ActiveWorkbook'. В этом случае задайте книгу по имени с помощью «Рабочие книги (WORKBOOK_NAME)» или, возможно, используйте «ThisWorkbook». Возможно, что рабочая книга, содержащая «Mngt Dashboard», не является активной книгой. – cheezsteak