Домашняя страница Undo Do New Save Карта сайта Обратная связь Поиск по форуму
МИР MS EXCEL - Гость.xls

Вход

Регистрация

Напомнить пароль

 

= Мир MS Excel/перенос данных с разных листов в общий лист - Мир MS Excel

Старая форма входа
  • Страница 1 из 1
  • 1
Модератор форума: китин, _Boroda_  
Мир MS Excel » Вопросы и решения » Вопросы по VBA » перенос данных с разных листов в общий лист (Макросы/Sub)
перенос данных с разных листов в общий лист
Leonchik Дата: Четверг, 01.10.2015, 11:10 | Сообщение № 1
Группа: Пользователи
Ранг: Новичок
Сообщений: 14
Репутация: 0 ±
Замечаний: 0% ±

Excel 2007
Добрый день! Подскажите пожалуйста! Есть книга "Табель учета" с 3 листами. На Лист1 и Лист2 заносятся данные, нужно с этих листов перенести все в Лист3. С одного листа я с помощью макроса переношу, а как мне сделать чтобы перенести с Лист2 на Лист3 со следующей строки после данных с Лист1? Помогите пожалуйста! Файл прилагаю!
К сообщению приложен файл: 3857901.rar (36.1 Kb)


Сообщение отредактировал Leonchik - Четверг, 01.10.2015, 11:10
 
Ответить
СообщениеДобрый день! Подскажите пожалуйста! Есть книга "Табель учета" с 3 листами. На Лист1 и Лист2 заносятся данные, нужно с этих листов перенести все в Лист3. С одного листа я с помощью макроса переношу, а как мне сделать чтобы перенести с Лист2 на Лист3 со следующей строки после данных с Лист1? Помогите пожалуйста! Файл прилагаю!

Автор - Leonchik
Дата добавления - 01.10.2015 в 11:10
KSV Дата: Четверг, 01.10.2015, 21:11 | Сообщение № 2
Группа: Друзья
Ранг: Ветеран
Сообщений: 770
Репутация: 255 ±
Замечаний: 0% ±

Excel 2013
Добрый вечер!
Так? [vba]
Код
Private Sub ToReport(Sh As Worksheet, Optional StartRow As Long = 1)
     Dim M(), P(), R&, C&, Ri&, Ci&, k&
      
     With Sh
         M = .[a1].Resize(.Cells(.Rows.Count, 37).End(xlUp).Row, 36).Value
     End With
      
     ReDim P(1 To (UBound(M) - 7) / 4, 1 To 126)
     For R = 8 To UBound(M) Step 4
         Ri = Ri + 1
         P(Ri, 1) = M(R, 2)
         P(Ri, 2) = M(R, 4)
         Ci = 2
         For C = 5 To 36
             If IsNumeric(M(4, C)) Then
                 For k = 0 To 3
                     Ci = Ci + 1
                     P(Ri, Ci) = M(R + k, C)
                 Next k
             End If
         Next C
     Next R
     R = UBound(P)
     Лист3.Cells(StartRow, 1).Resize(R, 126) = P
     StartRow = StartRow + R
End Sub

Private Sub CommandButton1_Click()
     Dim i&: i = 2
     ToReport Лист1, i
     ToReport Лист4, i
End Sub
[/vba]
К сообщению приложен файл: 8239753.zip (42.8 Kb)


KSV.VBA@gmail.com
Яндекс.Деньги: 410011921213333
 
Ответить
СообщениеДобрый вечер!
Так? [vba]
Код
Private Sub ToReport(Sh As Worksheet, Optional StartRow As Long = 1)
     Dim M(), P(), R&, C&, Ri&, Ci&, k&
      
     With Sh
         M = .[a1].Resize(.Cells(.Rows.Count, 37).End(xlUp).Row, 36).Value
     End With
      
     ReDim P(1 To (UBound(M) - 7) / 4, 1 To 126)
     For R = 8 To UBound(M) Step 4
         Ri = Ri + 1
         P(Ri, 1) = M(R, 2)
         P(Ri, 2) = M(R, 4)
         Ci = 2
         For C = 5 To 36
             If IsNumeric(M(4, C)) Then
                 For k = 0 To 3
                     Ci = Ci + 1
                     P(Ri, Ci) = M(R + k, C)
                 Next k
             End If
         Next C
     Next R
     R = UBound(P)
     Лист3.Cells(StartRow, 1).Resize(R, 126) = P
     StartRow = StartRow + R
End Sub

Private Sub CommandButton1_Click()
     Dim i&: i = 2
     ToReport Лист1, i
     ToReport Лист4, i
End Sub
[/vba]

Автор - KSV
Дата добавления - 01.10.2015 в 21:11
Мир MS Excel » Вопросы и решения » Вопросы по VBA » перенос данных с разных листов в общий лист (Макросы/Sub)
  • Страница 1 из 1
  • 1
Поиск:

Яндекс.Метрика Яндекс цитирования
© 2010-2024 · Дизайн: MichaelCH · Хостинг от uCoz · При использовании материалов сайта, ссылка на www.excelworld.ru обязательна!