Здравствуйте! Есть файл Consolid.xlsm в который макросом загружаю листы из других файлов (пример: WAS.xlsx). Как сделать так, что бы при загрузке листы переименовывались по принципу "Название файла_оригинальное название листа" (пример: WAS_Arkusz1), а пустые листы - не загружались? Заранее благодарен.
Переименовать листы макросом, VBA
09.03.2016 15:12:57
|
|
|
|
09.03.2016 15:32:37
что то подобное пробовали?
workbook(1),sheet(2).name = workbook(1).name & workbook(1).worksheets.count
не нужно оскорблять.
|
|
|
|
09.03.2016 15:53:00
|
|||
|
|
09.03.2016 16:14:34
не нужно оскорблять.
|
|||
|
|
09.03.2016 16:22:11
|
|
|
|
09.03.2016 16:30:31
Romuald,
ну это уже через циклы (фор например), если на листе есть данные то копировать..... имена также можно присваивать но помойму у Вас копируются все листы разом, так может удалять пустые листы а потом копировать... книга закрывается без сохранения....
не нужно оскорблять.
|
|
|
|
09.03.2016 16:47:01
Изменено:
|
|||||
|
|
09.03.2016 18:10:21
|
|||
|
|
09.03.2016 18:22:28
Макрос исправил.
--- Или так:
Изменено:
|
|||
|
|
09.03.2016 18:45:53
JayBhagavan, а что по-Вашему должна вернуть строка: ActiveSheet.Cells.SpecialCells(xlCellTypeLastCell)?
Что по мне - то только одну последнюю ячейку. А т.к. SpecialCells может вернуть и пустую ячейку - то это не очень верный ход. Куда правильнее проверять наличие данных на листе так:
Даже самый простой вопрос можно превратить в огромную проблему. Достаточно не уметь формулировать вопросы...
|
|||
|
|
09.03.2016 19:06:00
The_Prist, спасибо за Ваше уточнение. Не претендую на истинность решения. Это были мысли вслух. А со вторым макросом стратил. Исправляю...
|
|
|
|
10.03.2016 10:59:27
Спасибо всем, кто помогал. Вот что в итоге получилось, только макрос немного долго отрабатывает:
Изменено: |
|||
|
|
10.03.2016 11:02:49
У названий листов есть ограничения по количеству символов. Ну и по конкретно названиям, но это думаю тут не актуально, а вот на количество можете попасть.
|
|
|
|
03.02.2024 15:55:06
ъ
Изменено: |
||||
|
|
|||