Пожалуйста, ваша помощь со следующими:Вызов макроса, имя которого в тексте ячейки
- нужно вызвать макрос, имя которого переменная и находится в ячейке С5 Лист1 из Workbook1.
- Мне нужно запустить этот макрос в другой книге, скажем, Workbook2.
код, который у меня есть (в Workbook1) до сих пор является:
Public Sub RS()
'Setting source worksheet and workbook where the macros are saved
Dim ws1 As Worksheet
Dim wb1 As Workbook
Set wb1 = ActiveWorkbook
Set ws1 = ActiveWorkbook.ActiveSheet
'Defining the cell that contains the name of the chosen macro to be run
Dim Macro1 As String
Macro1 = Range("C5").Value
'Selecting target workbook
Workbooks("Workbook2").Activate
ActiveSheet.Select
Dim ws2 As Worksheet
Dim wb2 As Workbook
Set wb2 = ActiveWorkbook
Set ws2 = ActiveWorkbook.ActiveSheet
'Running in Workbook2, the macro selected in workbook1
Call Macro1
End Sub
Проблема заключается в том, что Macro1
не была признана. Я также пытался использовать функцию CallByName
, и Application.Run Macro1
, но не повезло. Скажите, пожалуйста, что мне не хватает или что я должен изменить.
Я настоятельно рекомендую [Избежание Использование '' Select', Activate' и 'ActiveBook/Sheet'] (HTTP : //stackoverflow.com/questions/10714251/how-to-avoid-using-select-in-excel-vba-macros) – Chrismas007