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

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

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

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

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

Ответ
 
Опции темы Поиск в этой теме
Старый 18.03.2009, 10:17   #1
Romuald
Форумчанин
 
Регистрация: 12.11.2007
Сообщений: 209
По умолчанию Из трех листов перенести строки по условию

Всем добрый день!
подскажите, пожалуйста, как макросом перенести строки(начиная с колонок ''С'' т.е (C:H) из трех листов , только в которых в колонках Н стоит валюта, в лист OTCET ?
Заранее благодарю
Вложения
Тип файла: rar maersk.rar (10.7 Кб, 17 просмотров)
Romuald вне форума Ответить с цитированием
Старый 18.03.2009, 11:05   #2
EducatedFool
Программист VBA
СуперМодератор
 
Аватар для EducatedFool
 
Регистрация: 13.07.2008
Сообщений: 6,856
По умолчанию

Вот весь код:
Код:
Sub Очистка()
    Application.ScreenUpdating = False: Me.[6:6000].Clear
End Sub

Sub СборДанных()
    Application.ScreenUpdating = False: On Error Resume Next
    Dim sh As Worksheet, r As Range, ra As Range
    For Each sh In ThisWorkbook.Worksheets
        If sh.Name <> Me.Name Then
            Set r = sh.Range("h:h").SpecialCells(xlCellTypeConstants)
            If Not r Is Nothing Then
                Set ra = Intersect(r.EntireRow, sh.Range("c:h"))
                ra.Copy
                Me.Range("a65000").End(xlUp).Offset(1).PasteSpecial xlPasteValues
            End If
        End If
    Next sh
    Me.UsedRange.EntireColumn.AutoFit: Me.[a1].Select
    Application.CutCopyMode = False
End Sub
Пример во вложении:
Вложения
Тип файла: rar maersk.rar (32.8 Кб, 22 просмотров)
EducatedFool вне форума Ответить с цитированием
Старый 18.03.2009, 15:32   #3
Romuald
Форумчанин
 
Регистрация: 12.11.2007
Сообщений: 209
По умолчанию

EducatedFull!!
Спасибо большое!
А можно сделать применение макроса Сбор данных только для листов '' Maersk EUR,
Maersk LVL,Maersk USD'' ?
Дочка очень просит в листе OTCET во еще какую таблицу отчета т.е подбить данные
Посмотрите, пожалуйста
Вложения
Тип файла: rar maersk2.rar (33.9 Кб, 14 просмотров)
Romuald вне форума Ответить с цитированием
Старый 18.03.2009, 16:09   #4
EducatedFool
Программист VBA
СуперМодератор
 
Аватар для EducatedFool
 
Регистрация: 13.07.2008
Сообщений: 6,856
По умолчанию

Цитата:
Дочка очень просит в листе OTCET во еще какую таблицу отчета т.е подбить данные
Для этого используйте сводную таблицу.
Сделайте её самостоятельно.

Теперь при очистке стираются только данные в диапазоне a6:g6000
Код:
Me.[a6:g6000].ClearContents
То есть сводная таблица затронута не будет.
(я не умею создавать сводные таблицы, но знаю, что это делается просто и быстро)

Цитата:
А можно сделать применение макроса Сбор данных только для листов '' Maersk EUR,
Maersk LVL,Maersk USD'' ?
Обрабатываются только листы, в названии которых прсутствует текст Maersk
Код:
If sh.Name Like "*Maersk*" Then
Вложения
Тип файла: rar maersk2.rar (16.4 Кб, 24 просмотров)
EducatedFool вне форума Ответить с цитированием
Ответ


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



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
В БД необходимо создать макрос, суть которого расчет итоговой строки по условию mex32 Microsoft Office Excel 31 01.04.2009 13:05
Как перенести определённые данные из строки Kamikaze13 Microsoft Office Excel 3 21.11.2008 10:57
Перенести в новую книгу отмеченые строки Rom1k06 Microsoft Office Excel 11 31.07.2008 12:22
Перенести слова из массива в строки Xardas Паскаль, Turbo Pascal, PascalABC.NET 2 04.05.2008 12:34
выделение листов по условию Bronyk Microsoft Office Excel 5 11.03.2008 19:40