Гость
Целевая тема:
Создать новую тему:
Автор:
Форумы / Microsoft Office [игнор отключен] [закрыт для гостей] / Excel. Перенести данные из листов на один лист / 10 сообщений из 10, страница 1 из 1
01.06.2007, 17:19:04
    #34568897
prosims
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Excel. Перенести данные из листов на один лист
Не могу решить проблему, помогите плиз.

Дано: Три листа одной книги. На кажном листе по нескольку строк с данными. Количество строк в обоих листах заранее неизвестно! Нужно чтобы макрос брал строки из второго и третьего листов и переносил их в первый лист, начиная с последней строки первого листа (как бы выстраивая все столбиком).

Файл в приложении.

Заранее спасибо, всем кто помогает
...
Рейтинг: 0 / 0
01.06.2007, 17:33:42
    #34568967
vbapro
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Excel. Перенести данные из листов на один лист
Код: plaintext
1.
2.
3.
4.
5.
6.
7.
8.
Sub copyall()
Dim Sh As Worksheet
    For Each Sh In ActiveWorkbook.Worksheets
        If Not Sh.Name = ActiveSheet.Name And Sh.Visible Then
            Sh.Range("A4:C" & Sh.Range("C3").End(xlDown).Row).Copy _
                Destination:=ActiveSheet.Range("A" & ActiveSheet.Range("A3").End(xlDown).Row +  1 )
        End If
    Next Sh
End Sub
...
Рейтинг: 0 / 0
01.06.2007, 17:52:31
    #34569054
Deggasad
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Excel. Перенести данные из листов на один лист
Если можно копировать сразу диапазон, без условий на строки, то так

Код: plaintext
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
Sub Copy_f_sad()

 Dim ws As Worksheet
 Dim SVOD As Worksheet
  Set SVOD = Worksheets("Info (2)")

 For Each ws In ThisWorkbook.Worksheets
   If ws.Name <> SVOD.Name Then
     ws.Rows("4:" & ws.Cells.Find(What:="*", SearchDirection:=xlPrevious, SearchOrder:=xlByRows).Row).Copy _
     Destination:=SVOD.Range("A" & SVOD.Cells.Find(What:="*", SearchDirection:=xlPrevious, SearchOrder:=xlByRows).Row +  1 )
   End If
 Next ws
   SVOD.Select
   Range("A1").Select

End Sub

Для того чтобы ячейки попадали в список на первом листе необходимо чтобы в момент запуска макроса список был активен!
...
Рейтинг: 0 / 0
01.06.2007, 18:14:05
    #34569132
Deggasad
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Excel. Перенести данные из листов на один лист
На всякий случай, если нужно только значения с непустым столбцом С.

Код: plaintext
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
Sub Copy_f_sad()

 Dim ws As Worksheet
 Dim SVOD As Worksheet
  Set SVOD = Worksheets("Info (2)")

 For Each ws In ThisWorkbook.Worksheets
   If ws.Name <> SVOD.Name Then
     For n =  4  To ws.Cells.Find("*", , , , xlPrevious, xlByRows).Row
      If ws.Range("C" & n).Value >  0  Then ws.Rows(n).Copy _
      Destination:=SVOD.Range("A" & SVOD.Cells.Find("*", , , , xlPrevious, xlByRows).Row +  1 )
     Next n
   End If
 Next ws
   SVOD.Select
   Range("A1").Select

End Sub
...
Рейтинг: 0 / 0
01.06.2007, 18:35:19
    #34569178
prosims
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Excel. Перенести данные из листов на один лист
Спасибо огромное за помощь,

Deggasad
Для того чтобы ячейки попадали в список на первом листе необходимо чтобы в момент запуска макроса список был активен!


Как понять "список должен быть активен"? В смысле открыт первый лист? Если да, то так не работает :(
...
Рейтинг: 0 / 0
01.06.2007, 18:44:35
    #34569212
Deggasad
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Excel. Перенести данные из листов на один лист
prosimsСпасибо огромное за помощь,

Deggasad
Для того чтобы ячейки попадали в список на первом листе необходимо чтобы в момент запуска макроса список был активен!


Как понять "список должен быть активен"? В смысле открыт первый лист? Если да, то так не работает :(

Не работает что? Макрос вообще не работает? или в список не попадают?

Я имел ввиду что у вас данные организованы списком значений на листах (заключены в синюю обводку. Если вы хотите чтобы копируемые данные были тоже внутри списка, а не ниже, то следует выделить одну из ячеек списка чтобы появилась та самая обводка, а потом запускать макрос.
...
Рейтинг: 0 / 0
01.06.2007, 18:53:25
    #34569237
prosims
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Excel. Перенести данные из листов на один лист
Пробовал и с выделением ячеек и без. Не работает макрос к сожалению. Не получается сделать так чтобы данные из второго и третьего листа выстроились на первом друг за другом без потерь форматирования. Уж как только не пробовал. Может вставите макрос в файл и выложите если не трудно. А то я похоже совсем туп...не могу догнать и всё
...
Рейтинг: 0 / 0
01.06.2007, 19:25:00
    #34569301
Deggasad
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Excel. Перенести данные из листов на один лист
В макросе который с условием ошибка была, тут исправил!
...
Рейтинг: 0 / 0
01.06.2007, 20:17:46
    #34569363
KL (XL)
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Excel. Перенести данные из листов на один лист
на всякий случауй - тут масса готовых решений:
http://www.rondebruin.nl/copy2.htm
http://www.rondebruin.nl/tips.htm

KL
[MVP - Microsoft Excel]
...
Рейтинг: 0 / 0
04.06.2007, 11:35:53
    #34571472
prosims
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Excel. Перенести данные из листов на один лист
Спасибо огромное за помощь. Вы мне очень помогли. Все прекрасно работает. Дай вам Бог здоровье за такие благородные поступки :)
...
Рейтинг: 0 / 0
Форумы / Microsoft Office [игнор отключен] [закрыт для гостей] / Excel. Перенести данные из листов на один лист / 10 сообщений из 10, страница 1 из 1
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


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