Супер! Уже не очень или совсем не принципиальный вопрос, точнее 2 проблемы, с которыми таки столкнулся в процессе сборки пользовательских книг макросом:
1. В листах есть кое-где меню выбора значений, выполненные через поименованный диапазон. Макрос наталкивается при копировании на одинаковые имена и справшивает. Приходится почти в каждом случае жать кнопку Yes.
2. Редкость, но бывает - пользователи для своих нужд делают сводные таблицы (нафиг не нужны нам) на отдельных листах и забывают удалять. Разумеется копирование валится с ошибкой (IMHO копирование которое делается для вставки значений на листы просто не отрабатывает)
Вернуть Excel листам первозданный вид макросом
Модератор: Naeel Maqsudov
1) Если речь идёт о наличии выпадающих списков, созданных с помощью об'екта Validation (меню Данные - Проверка - Параметры - Тип данных: Список - Источник: Имя), то, для начала, можно попробовать добавить следующее :
Если же сие не поможет, точнее сказать, если Вы говорите не о об'екте Validation, то использовать :
и
2) Что касается сводных таблиц, то ошибка, скорее всего, возникает не при копировании, а при выполнении присвоения, т.е. .Value = .Value а в этом случае, данную строку можно заменить на .Copy: .PasteSpecial xlValues
Впрочем, опять возникает вопрос, если сводные таблицы нафиг нам не нужны, то зачем мы собираемся их копировать ? ведь если сводные таблицы расположены на отдельных листах, то почему бы нам просто не игнорировать эти листы ...
Код: Выделить всё
With .UsedRange
.Validation.Delete
...
End With
Код: Выделить всё
Application.DisplayAlerts = False
Код: Выделить всё
Application.DisplayAlerts = True
Впрочем, опять возникает вопрос, если сводные таблицы нафиг нам не нужны, то зачем мы собираемся их копировать ? ведь если сводные таблицы расположены на отдельных листах, то почему бы нам просто не игнорировать эти листы ...