У меня есть куча данных на одном листе, который я пытаюсь сохранить в отдельных книгах на основе значений в нескольких столбцах. Подход, который я принимаю (к лучшему или худшему!), - это скопировать соответствующий рабочий лист (и макросы) в новую книгу, сохранить его с соответствующим именем (допустим, temp.xlsx
), а затем очистить данные в этой новой книге удаление нерелевантных строк (функция называется deleteInfo
). Это необходимо сделать, не изменяя исходную книгу, в соответствии с политикой компании.Вызов функции из другой книги Excel
Я могу скопировать материал без проблем, но у меня возникают серьезные проблемы с вызовом макросов в новой книге.
Я попытался:
Application.Run "'temp.xlsx'!deleteInfo"
ActiveWorkbook.Application.Run deleteInfo
Application.Run ("'C:\user\.....\temp.xlsx'!deleteInfo")
Но никто из них не работал.
Вы пытались копировать как .xlsm? – pnuts
Да, без радости печально. Я попытался использовать «temp.xlsm» в приведенном выше коде, также попытался: ActiveWorkbook.SaveAs имя_файла: = «temp.xlsm», _ FileFormat: = xlOpenXMLWorkbook, CreateBackup: = False – Cormac