![]() |
|
|
Регистрация Восстановить пароль |
Регистрация | Задать вопрос |
Заплачу за решение |
Новые сообщения |
Сообщения за день |
Расширенный поиск |
Правила |
Всё прочитано |
![]() |
|
Опции темы | Поиск в этой теме |
![]() |
#1 |
Пользователь
Регистрация: 14.10.2010
Сообщений: 14
|
![]()
Добрый день!
Нужно из 4-х разных книг скопировать данные? и вставить в одну, скопированые диапазоны будут находиться друг под другом. в этих четырех книгах есть скрытые столбцы, когда вставляю в другую книгу - они тоже копируются, подскажите как вставить без скрытых столбцов? Или заменить строку Sheets(WSheet).Cells(3, i).ColumnWidth=0 Так чтоб удалялись столбцы, а книга потом закрывалась без сохранения Часть кода: WSheet = ActiveWorkbook.Name i=1 While Sheets(WSheet).Cells(3, i) <> "" If Sheets(WSheet).Cells(2, i)="Товар" Then i=i+1 ElseIf Sheets(WSheet).Cells(2, i)="Цена" Then i=i+1 ElseIf Sheets(WSheet).Cells(2, i)="Код" Then i=i+1 ElseIf Sheets(WSheet).Cells(2, i)="Артикул" Then i=i+1 Else Sheets(WSheet).Cells(3, i).ColumnWidth=0 i=i+1 End If Wend i=1 While Sheets(WSheet).Cells(3, i) <> "" i=i+1 Wend КолКол=i-1 i=1 While Sheets(WSheet).Cells(i, 1) <> "" i=i+1 Wend КолСтрок=i-1 Range(Sheets(WSheet).Cells(1, 1) : Sheets(WSheet).Cells(КолСтрок, КолКол).Copy Workbook("Книга1").Activate i=1 While Sheets("Лист1").Cells(2, i) <> "" i=i+1 Wend Sheets("Лист1").Cells(1, i).Select ActiveSheet.Paste (и тут вставляется вместе со скрытыми столбцами!) |
![]() |
![]() |
![]() |
#2 |
Форумчанин
Регистрация: 06.08.2009
Сообщений: 472
|
![]()
посмотрите справку VB: SpecialCells Method в нем есть такой параметр: xlCellTypeVisible. All visible cells - все нескрытые ячейки, выделите с помощью него область и т.д.
Запись, например, может выглядеть так. Необходимо выделить все нескрытые ячейки в колонках А:С, столбец В скрыт и скопировать в открытую вторую книгу: Код:
Последний раз редактировалось EugeneS; 28.10.2010 в 17:46. |
![]() |
![]() |
![]() |
#3 |
Программист VBA
СуперМодератор
Регистрация: 13.07.2008
Сообщений: 6,858
|
![]()
Весь ваш код можно заменить на 2-3 строки - но надо понимать, что и откуда копировать.
Да и работать будет намного быстрее. Но вы не прочитали правила раздела, и не прикрепили пример файла, так что вряд ли вам помогут... |
![]() |
![]() |
![]() |
#4 |
Пользователь
Регистрация: 14.10.2010
Сообщений: 14
|
![]()
дело в том, что под таблица в каждой из книг с основными данными постоянно с разным количеством строк, а под ней находится вторая таблица и график
я заменил строку Sheets(WSheet).Cells(3, i).ColumnWidth=0 на Range(Sheets(WSheet).Cells(1, i) : Sheets(WSheet).Cells(КолСтрок, i).Delete со смещением влево и удалил после него i=i+1 с последующим закрытием книги без сохранения спасибо за советы! |
![]() |
![]() |
![]() |
![]() |
||||
Тема | Автор | Раздел | Ответов | Последнее сообщение |
Как скопировать макросы в другую книгу? | alec | Microsoft Office Excel | 5 | 30.04.2010 08:13 |
Автоматическая нумерация столбцов с учетом скрытых | cons | Microsoft Office Excel | 12 | 27.04.2010 12:25 |
Как перенести макросы и формы VB в другую книгу | Talisman | Microsoft Office Excel | 3 | 21.11.2009 12:35 |
Удаление скрытых столбцов после фильтрации. | Garrison | Microsoft Office Excel | 7 | 02.09.2009 16:27 |
скопировал фотки, удалил их с карты, вставить забыл. Потом скопировал что-то другое, Как зайти в буфер? | Арчо | Операционные системы общие вопросы | 3 | 09.08.2009 17:53 |