Попытка открыть рабочую книгу и запустить макрос в этом файле

У меня есть книга, которая открывает другую книгу (имя файла основано на значении ячейки), а затем запускает макрос с именем Single_sector в этом файле.

Он отлично открывает файл, но не запускает макрос. Есть идеи?

Sub run_all() Dim Location On Error Resume Next 'Location of file to open Location = Worksheets("Main").Range("folder_location").Value 'Open F&V File Application.Workbooks.Open Location & Range("fv_file").Value 'Run Macro Run ("Single_sector") End Sub 

Поместите следующий код в макрос, вызывающий другую книгу:

 Location = Worksheets("Main").Range("folder_location").Value Set wb = Workbooks.Open(Location & Range("fv_file").Value) Application.Run "'" & wb.Name & "'!" & strSubToRun, Parameters Set wb = Nothing 

Параметры – это массив аргументов, которые вы хотите передать, поэтому суб в другой книге должно выглядеть примерно так:

 Public Sub TheSub(ParamArray X()) Dim i As Long Sheet1.Cells(1, 1).Value = "Parameters passed:" For i = 0 To UBound(X(0)) Sheet1.Cells(i + 2, 1).Value = CStr(X(i)) Next End Sub 

введите описание изображения здесь

Убедитесь, что ваш код в другой книге находится в Workbook_open, поэтому вам не нужно использовать Run («Single_sector»). Процедура single_selector будет запускаться, как только откроется другая книга.

Обновленный ответ

 Sub run_all() Dim Location On Error Resume Next Dim wkb As Workbook 'Location of file to open Location = Worksheets("Main").Range("folder_location").Value 'Open F&V File Set wkb = Workbooks.Open(Location & Range("fv_file").Value) wkb.Sheets(1).Single_sector ' kindly put this proc in another workbook sheet1 End Sub 

Наверное, не очень элегантный, но:

 Dim Location As String Location = "\\location\to\file.xlsm" Workbooks.Open(Location).RunAutoMacros (xlAutoOpen) 

Если у вас есть Auto_Open Sub в другом файле excel, чтобы обрабатывать макросы для работы в другой таблице

Interesting Posts

Sum excel назвал диапазоны с использованием нескольких критериев и более одного именованного диапазона

Excel: идентификация 2+ отдельных экземпляров значений в строке для заданного диапазона

Формула Excel для CountIF с несколькими ячейками, на которые указан Named Range

Цель Ищите несколько клеток-мишеней?

Как подсчитать только последние значения, если они больше числа?

Как превратить формулу Excel в UDF?

Цвет фона диаграммы Excel

Как массировать копии строк в зависимости от счетчика в SPSS или Excel

Выберите Ran-обмен файлом errorOverflow Vba excel

Возвращает значение «1», указанная ячейка пуста

как показать последние 12 месяцев, когда я ввожу дату / год для Excel

Как сжать / распаковать строку в 32-символьную буквенно-цифровую строку с помощью Excel / VBA?

Перемещение данных на основе информации в одном столбце, а затем сортировка по данным в другой

Использование функции Index & Small для получения нескольких значений с другого листа

max id 2 конкретизированная этикетка vba fomulas

Давайте будем гением компьютера.