powered by simpleCommunicator - 2.0.61     © 2026 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / Microsoft Access [игнор отключен] [закрыт для гостей] / Копирование листа в Excel
4 сообщений из 4, страница 1 из 1
Копирование листа в Excel
    #32320725
Ingvarwolf
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Пишу процедуру, которая должна скопировать лист одной книги на лист другой. Вот такой код:
Код: plaintext
1.
2.
3.
4.
'objParentBook это книга, из которой надо копировать лист' 
'objPrintSheet это лист, на который надо вставить. Этот лист в другой книге'

objParentBook.Sheets(strOrderSheetName).UsedRange.Copy
objPrintSheet.Range( "A1" ).PasteSpecial Paste:=xlPasteAll 
срабатывает с двумя проблемами — во-первых, перед вставкой спрашивает про использование общих именованных диапазонов, а поскольку я копирую несколько листов в цикле, то хотелось бы эти вопросы отключить. Во-вторых, копируется все содержимое всех ячеек, но после вставки размеры ячеек не сохраняются, из-за этого полученный лист нельзя распечатать как нужно.
Я пробовал копировать листы вот таким кодом:
Код: plaintext
objParentBook.Sheets(strOrderSheetName).Copy
но тогда создается новая книга со скопированным листом. Лист выглядит как нужно, но мне надо чтобы все листы в цикле копировались и вставлялись в одну и ту же книгу.
Есть ли какие-то способы скопировать листы в цикле и вставить их в одну книгу и при этом сохранить их внешний вид?
...
Рейтинг: 0 / 0
Копирование листа в Excel
    #32320872
Фотография Alexander G
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Код: plaintext
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
Set XlApp = CreateObject( "Excel.Application" )
'открываем файл
Set XlWkb1 = XlApp.Workbooks.Open("lala.xls")
'открываем второй
Set XlWkb2 = XlApp.Workbooks.Open( "lalala.xls" )
'отключаем предупреждения
XlApp.DisplayAlerts = False
'копируем 
For i =  1  To XlWkb1.Sheets.count
XlWkb1.Sheets(i).Copy After:=XlWkb2.Sheets(i)
XlApp.Visible = True
Next
...
Рейтинг: 0 / 0
Копирование листа в Excel
    #32320873
Фотография Alexander G
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Прошу извинить,
предпоследняя строка - должна быть последней
...
Рейтинг: 0 / 0
Копирование листа в Excel
    #32321262
Ingvarwolf
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Да, в приницпе я примерно так и сделал. Моя ошибка была в том, что я сначала добавял в файл пустой лист, а потом пытался туда скопировать лист из другой книги. Сейчас переделал и теперь новый лист не добавляет, а сразу копирует через
Код: plaintext
objParentBook.Sheets(strOrderSheetName).Copy After:=objPrintBook.ActiveSheet
и все работает.
...
Рейтинг: 0 / 0
4 сообщений из 4, страница 1 из 1
Форумы / Microsoft Access [игнор отключен] [закрыт для гостей] / Копирование листа в Excel
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]