Здравствуйте! Записала макрос (не то, чтобы сама написала, просто поставила на запись и выполнила стандартные действия). Но вот хочется немного "усовершенствовать", а как - не знаю. Изначально программа выдавала ошибку со ссылкой на выдержку ниже. Как я поняла, причина была в том,что в новом документе не было Листа1. Поэтому каждый раз перед запуском макроса я вручную переименовываю свободный лист - и все работает.
Как уйти от ручных действий? Что надо прописать, чтобы каждый раз сводная таблица создавалась на новом листе? Два файла (один с макросом, а другой - для тренировки) приложены.
[admin]Оформляйте коды тегами, во избежание бана![/admin]
Здравствуйте! Записала макрос (не то, чтобы сама написала, просто поставила на запись и выполнила стандартные действия). Но вот хочется немного "усовершенствовать", а как - не знаю. Изначально программа выдавала ошибку со ссылкой на выдержку ниже. Как я поняла, причина была в том,что в новом документе не было Листа1. Поэтому каждый раз перед запуском макроса я вручную переименовываю свободный лист - и все работает.
Как уйти от ручных действий? Что надо прописать, чтобы каждый раз сводная таблица создавалась на новом листе? Два файла (один с макросом, а другой - для тренировки) приложены.
[admin]Оформляйте коды тегами, во избежание бана![/admin]Nat
И на втором листе получите ошибку. Нельзя создать 2 листа с одинаковым именем. Как вариант, не называть лист, пусть Экс сам ему присвоит имя. Или привязываться ко времени. И лучше явно указывать: worksheets.add
И на втором листе получите ошибку. Нельзя создать 2 листа с одинаковым именем. Как вариант, не называть лист, пусть Экс сам ему присвоит имя. Или привязываться ко времени. И лучше явно указывать: worksheets.addKuklP
Ну с НДС и мы чего-то стoим! kuklp60@gmail.com WM Z206653985942, R334086032478, U238399322728
Создать какой то лист, например SheetsNumber и например в ячейку A1 поместить имя листа сводной таблицы (например pt) а в B1 - 1. Перед созданием сводной таблицы Лист1 переименовать на SheetsNumber!A1 & SheetsNumber!B1 (получите имя листа "pt1") и значение B1 увеличьте на 1: SheetsNumber!B1.Value=SheetsNumber!B1.Value+1 В следующий раз Лист1 переименуется на pt2, потом на pt3 ...
Создать какой то лист, например SheetsNumber и например в ячейку A1 поместить имя листа сводной таблицы (например pt) а в B1 - 1. Перед созданием сводной таблицы Лист1 переименовать на SheetsNumber!A1 & SheetsNumber!B1 (получите имя листа "pt1") и значение B1 увеличьте на 1: SheetsNumber!B1.Value=SheetsNumber!B1.Value+1 В следующий раз Лист1 переименуется на pt2, потом на pt3 ...SergeyKorotun