Я хочу использовать VBS на всех листах документа Excel, который будет выполнять следующие действия:
- Отфильтровать таблицу
- Копировать отфильтрованный контент
- Создать новый рабочий лист
- Вставить только специальные значения и сохранить как CSV-файл
Я пытаюсь добиться этого с помощью этого кода, но он не работает
With excelObject1
.Application.DisplayAlerts = False
for each x in excelObject1.WorkSheets
x.Rows(1).AutoFilter 1, "type 1"
x.Range("A1:E41").Copy
.WorkSheets.Add
.ActiveWorksheet.Range("A1").PasteSpecial -4122
.ActiveWorkbook.SaveAs home_directory+x.Name + ".csv", 23
Next
.Quit
.Application.DisplayAlerts = True
End With
Это выдает ошибку (объект не поддерживает это свойство или метод: «ActiveWorksheet»), и если я удалю точку перед ActiveWorksheet, то выдает ошибку (переменная не определена «ActiveWorksheet») Я не знаю, как создать новый рабочий лист в «для каждого х». Может, я не так делаю? Я пытаюсь сделать это с помощью VBS, но было бы здорово, если бы кто-нибудь помог мне сделать это даже с помощью VBA. У меня Excel 2013 года.