Страница 2 из 2

Re: Вернуть Excel листам первозданный вид макросом

Добавлено: 02 дек 2012, 19:44
vadim245
Супер! Уже не очень или совсем не принципиальный вопрос, точнее 2 проблемы, с которыми таки столкнулся в процессе сборки пользовательских книг макросом:

1. В листах есть кое-где меню выбора значений, выполненные через поименованный диапазон. Макрос наталкивается при копировании на одинаковые имена и справшивает. Приходится почти в каждом случае жать кнопку Yes.

2. Редкость, но бывает - пользователи для своих нужд делают сводные таблицы (нафиг не нужны нам) на отдельных листах и забывают удалять. Разумеется копирование валится с ошибкой (IMHO копирование которое делается для вставки значений на листы просто не отрабатывает)

Re: Вернуть Excel листам первозданный вид макросом

Добавлено: 02 дек 2012, 20:29
pashulka
1) Если речь идёт о наличии выпадающих списков, созданных с помощью об'екта Validation (меню Данные - Проверка - Параметры - Тип данных: Список - Источник: Имя), то, для начала, можно попробовать добавить следующее :

Код: Выделить всё

With .UsedRange
      .Validation.Delete
        ...
       
End With
Если же сие не поможет, точнее сказать, если Вы говорите не о об'екте Validation, то использовать :

Код: Выделить всё

Application.DisplayAlerts = False
и

Код: Выделить всё

Application.DisplayAlerts = True
2) Что касается сводных таблиц, то ошибка, скорее всего, возникает не при копировании, а при выполнении присвоения, т.е. .Value = .Value а в этом случае, данную строку можно заменить на .Copy: .PasteSpecial xlValues

Впрочем, опять возникает вопрос, если сводные таблицы нафиг нам не нужны, то зачем мы собираемся их копировать ? ведь если сводные таблицы расположены на отдельных листах, то почему бы нам просто не игнорировать эти листы ...