2014-02-15 2 views
0

У меня есть несколько листов данных, которые включают промежуточные итоги для групп данных на основе столбца particualr. Теперь мне нужен код vba, который займет промежуточный итог от x количества листов и скопирует итоговые данные на один сводный лист. Как вы можете видеть ниже, код должен вставить строку для промежуточных итогов «SheetName1» и заполнить промежуточные итоги для значений столбца 3 (A, B и C) «SheetName1» и то же самое для остальных листов:VBA Добавить лист сводки для нескольких листов Excel и добавить промежуточные итоги

enter image description here

+0

Пожалуйста, нажмите на URL, чтобы увидеть изображение, описывающее мой вопрос. – user3314399

+0

Есть ли у вас код? Если нет, то какой именно * является частью задачи, с которой у вас возникла проблема? «Мне нужен код vba», как правило, здесь не очень помогает. –

+0

Я не уверен, как добавить общее количество от каждого листа к сводному листу. Пожалуйста, посмотрите на загруженный мной рис. – user3314399

ответ

0
Sub tester() 

Dim sht As Worksheet, rw As Range, c As Range, i As Long 

    Set rw = Sheets("Summary").Cells(Rows.Count, 1).End(xlUp) _ 
       .Offset(1, 0).EntireRow 

    For Each sht In ActiveWorkbook.Worksheets 
     If sht.Name <> "Summary" Then 
      i = 2 
      rw.Cells(1).Value = sht.Name 
      Set c = sht.Range("C1") 
      Do While c.Value <> "" 
       If c.Value = "Total" Then 
        rw.Cells(i).Value = c.Offset(0, 1).Value 
        i = i + 1 
       End If 
       Set c = c.Offset(1, 0) 
      Loop 
      Set rw = rw.Offset(1, 0) 
     End If 
    Next sht 


End Sub 
+0

Большое спасибо. Он сделал это, однако он перенес только 23 и 24, а не 6. Кроме того, где в коде я могу указать местоположение для общей суммы на странице сводки? – user3314399

+0

Если он не переносит 6, то ячейка в ColC не имеет содержимого «Total». Проверьте дополнительные места. Он добавит строки в Сводное начало в первой пустой ячейке в ColA. Измените строку 'Set rw = ...', если вы хотите ее где-то еще. –

Смежные вопросы