При переносе методом
sheet_out.Range("a1:b1").Copy Destination:=sheet_in.Range("a1:b1")
инфы из файла в файл эксель утомил вопросом про конфликт имен. Нужно корректно (вместе с именами, формулами и связями) перенести нужную инф. Таких файлов - порядка 30, терять время по 5 мин на штуку, тупо нажимая на ввод очень не хочется, тем более так надо будет делать раза по 4 в неделю.
Подскажите непрограммисту, как блокировать реакцию экселя?
Заранее спасибо.
Конфликт имен при авт. переносе информации из файла в файл
Модератор: Naeel Maqsudov
Если Вам достаточно всего лишь убрать большинство системных предупреждений, то возможно этот код сможет быть Вам полезен :
Application.DisplayAlerts = False
Rem Здесь Ваш код ...
Application.DisplayAlerts = False
Application.DisplayAlerts = False
Rem Здесь Ваш код ...
Application.DisplayAlerts = False
- Naeel Maqsudov
- Сообщения: 2570
- Зарегистрирован: 20 фев 2004, 19:17
- Откуда: Moscow, Russia
- Контактная информация:
Так, на всякий случай:
Если важны, например, только данные (ну вдруг) а внешний вид ячеек не важен, то копирование через буфер можно заменить элементарным присвоением:
sheet_in.Range("a1:b1").Value = sheet_out.Range("a1:b1").Value
Если важны, например, только данные (ну вдруг) а внешний вид ячеек не важен, то копирование через буфер можно заменить элементарным присвоением:
sheet_in.Range("a1:b1").Value = sheet_out.Range("a1:b1").Value
Ну если надо обойтись без копирования, но сохранив при этом параметры форматирования, формулы и т.п., то можно использовать что-то типа этого :
Worksheets(Array("Лист1", "Лист2")).FillAcrossSheets Worksheets("Лист1").Range("A1:B1")
Worksheets(Array("Лист1", "Лист2")).FillAcrossSheets Worksheets("Лист1").Range("A1:B1"), xlFillWithAll
Примечание :
Сразу оговорюсь, что перенос осуществляется только из диапазона "A1:B1" в диапазон "A1:B1" другого рабочего листа(ов)
Worksheets(Array("Лист1", "Лист2")).FillAcrossSheets Worksheets("Лист1").Range("A1:B1")
Worksheets(Array("Лист1", "Лист2")).FillAcrossSheets Worksheets("Лист1").Range("A1:B1"), xlFillWithAll
Примечание :
Сразу оговорюсь, что перенос осуществляется только из диапазона "A1:B1" в диапазон "A1:B1" другого рабочего листа(ов)