У меня есть куча данных на одном рабочем листе, которые я пытаюсь сохранить в отдельных рабочих книгах на основе значений в нескольких столбцах. Подход, который я использую (к лучшему или к худшему!), заключается в том, чтобы скопировать соответствующий рабочий лист (и макросы) в новую рабочую книгу, сохранить его с соответствующим именем (скажем, "temp.xlsx"), а затем очистить данные в этой новой рабочей книге, удалив ненужные строки (функция, называемая deleteInfo). Все это должно быть сделано без изменения исходной рабочей книги, согласно политике компании.
Я могу скопировать материал без проблем, но у меня возникнут серьезные проблемы с вызовом макросов в новой рабочей книге.
Я пытался:
Application.Run "'temp.xlsx'!deleteInfo"
ActiveWorkbook.Application.Run deleteInfo
Application.Run ("'C:\user\.....\temp.xlsx'!deleteInfo")
Но ни один из них не сработал.
Буду признателен за любую оказанную помощь.
решение1
Я думаю, вы слишком усложнили проблему, попытавшись выполнить очистку после того, как данные покинули файл с помощью кода VBA.
Вы можете продублировать листвнутри исходного файла, выполните исправления в дубликате, а затем переместите дубликат в новую рабочую книгу после его очистки.