Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > Microsoft Office и VBA программирование > Microsoft Office Excel
Регистрация

Восстановить пароль
Повторная активизация e-mail

Купить рекламу на форуме - 42 тыс руб за месяц

Закрытая тема
Ваша тема закрыта, почему это могло произойти? Возможно,
Нет наработок или кода, если нужно готовое решение - создайте тему в разделе Фриланс и оплатите работу.
Название темы включает слова - "Помогите", "Нужна помощь", "Срочно", "Пожалуйста".
Название темы слишком короткое или не отражает сути вашего вопроса.
Тема исчерпала себя, помните, один вопрос - одна тема
Прочитайте правила и заново правильно создайте тему.
 
Опции темы Поиск в этой теме
Старый 20.04.2009, 14:02   #1
Pavel_Ine
Пользователь
 
Аватар для Pavel_Ine
 
Регистрация: 18.04.2009
Сообщений: 24
По умолчанию Как средствами VBA сделать точную копию листа и вставить ее в конец книги?

Есть пустой лист, где объединены некоторые ячейки, у некоторых изменены ширина (или какие-нибудь другие параметры). Нужно вставить точно такой же лист в конец книги.
Pavel_Ine вне форума
Старый 20.04.2009, 14:06   #2
EducatedFool
Программист VBA
СуперМодератор
 
Аватар для EducatedFool
 
Регистрация: 13.07.2008
Сообщений: 6,856
По умолчанию

Код:
Sub test()
    ActiveSheet.Copy , Worksheets(Worksheets.Count)
End Sub
EducatedFool вне форума
Старый 20.04.2009, 14:15   #3
Pavel_Ine
Пользователь
 
Аватар для Pavel_Ine
 
Регистрация: 18.04.2009
Сообщений: 24
По умолчанию

Спасибо большое! А может подскажете как скрыть несколько строк (аналогично Выделить-Контекстное-Скрыть).
И еще я тут тему создавал на счет экспорта данных из excel в word......
Pavel_Ine вне форума
Старый 20.04.2009, 14:17   #4
EducatedFool
Программист VBA
СуперМодератор
 
Аватар для EducatedFool
 
Регистрация: 13.07.2008
Сообщений: 6,856
По умолчанию

Цитата:
как скрыть несколько строк
Код:
Sub test()
    Rows("2:5").Hidden = True ' скрываем строки со второй по пятую
End Sub
Цитата:
И еще я тут тему создавал на счет экспорта данных из excel в word
Без примеров файла вы в той теме ничего не добьётесь
EducatedFool вне форума
Старый 20.04.2009, 14:25   #5
Pavel_Ine
Пользователь
 
Аватар для Pavel_Ine
 
Регистрация: 18.04.2009
Сообщений: 24
По умолчанию

А вообще реально скопировать кусок таблицы excel и вставить его в уже созданный документ, лежащий в той же папке, что и екселевский. Причем вставить тупо в начало и без какого либо ворматирования... простой Copy-Paste?
Pavel_Ine вне форума
Старый 20.04.2009, 14:33   #6
EducatedFool
Программист VBA
СуперМодератор
 
Аватар для EducatedFool
 
Регистрация: 13.07.2008
Сообщений: 6,856
По умолчанию

Всё реально.

Если Вы имеете ввиду вставку в документ Word, то посмотрите эти темы:
http://www.programmersforum.ru/showt...asteexceltable
http://www.programmersforum.ru/showt...asteexceltable

Если бы Вы сформулировали задачу более конкретно, давно бы получили готовое решение...
EducatedFool вне форума
Старый 20.04.2009, 15:20   #7
Pavel_Ine
Пользователь
 
Аватар для Pavel_Ine
 
Регистрация: 18.04.2009
Сообщений: 24
По умолчанию

Нужно содержимое этого документика (за исключением кнопок) переправить в Word
Вложения
Тип файла: zip Воскресная версия - копия.zip (23.7 Кб, 42 просмотров)
Pavel_Ine вне форума
Старый 20.04.2009, 15:24   #8
Pavel_Ine
Пользователь
 
Аватар для Pavel_Ine
 
Регистрация: 18.04.2009
Сообщений: 24
По умолчанию

и было бы неплохо, если первые 19 строк на одном листе, а остальные на втором.....
Pavel_Ine вне форума
Старый 20.04.2009, 15:39   #9
EducatedFool
Программист VBA
СуперМодератор
 
Аватар для EducatedFool
 
Регистрация: 13.07.2008
Сообщений: 6,856
По умолчанию

Код:
Sub main()
    Set wa = CreateObject("Word.Application")
    wa.Visible = True: Set wd = wa.Documents.Add
    [a1:e19].Copy
    wd.Range.PasteExcelTable False, False, False
    [a34:g73].Copy
    wd.Sections.Add.Range.PasteExcelTable False, False, False
    Application.CutCopyMode = False
End Sub
Ну и можно немного укоротить макрос cmdFormaSave_Click:
Код:
Private Sub cmdFormaSave_Click()
    KudaVstavlyat = Worksheets("График взаимопосещений").Cells(100, 100).Text
    [1:19].Copy Worksheets(KudaVstavlyat).[1:19]
    [34:74].Copy Worksheets(KudaVstavlyat).[34:74]

    [d36:g70].ClearContents    ' только очистка значений в ячейках
    [f5:n16].ClearContents
    [d71:g73].Clear    ' полная очистка (вместе с форматированием)
End Sub
EducatedFool вне форума
Старый 20.04.2009, 15:47   #10
Pavel_Ine
Пользователь
 
Аватар для Pavel_Ine
 
Регистрация: 18.04.2009
Сообщений: 24
По умолчанию

спасибо!
А можно, чтобы при команде sheets(index).delete, ексель не переспрашивал удалять значения или нет?
Pavel_Ine вне форума
Закрытая тема


Купить рекламу на форуме - 42 тыс руб за месяц

Опции темы Поиск в этой теме
Поиск в этой теме:

Расширенный поиск


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Как средствами VBA экспортировать данные из Excel в Word? Pavel_Ine Microsoft Office Excel 3 20.04.2009 14:14
снятие пароля с книги/листа из другой книги? Bezdar Microsoft Office Excel 3 25.12.2008 11:59
Как средствами VBA получить доменное имя пользователя? Прохожий Microsoft Office Excel 3 04.10.2008 18:28
Как сделать резервную копию определеных данных? Anticoors БД в Delphi 2 26.04.2007 14:23