1顧客1シートの報告書を別シートへ一覧表としてまとめるには?

Question 81.4 Excel VBA Borad (掲示板)より Previous Next
上司に言われて報告書を一覧表で管理したいと指示がきて困っております。
下図のような1顧客1シートの報告書が、シートB~にあります。

これらの顧客シートをまとめた一覧表を、シートAに作成したいのです。

一覧表シートに取込のボタンがあり、このボタンを押すと顧客シートの内容を一覧作成したいのです。
この方法が好ましくないのであれば、一覧を作成、管理するエクセルファイルがあり、顧客情報を一つのエクセルファイルとして扱ってもいいと思います。
よろしくお願いいたします。
Answer   2006.9.6 かみちゃん
以下のような感じでできると思います。 まとめシートは、「Sheet1」という名前であるものとし、 それ以外のすべてのシートからデータを集めます。
Sub Macro1()
  Dim lngRow As Long
  Dim ws As Worksheet
  Dim vntData As Variant
  
  lngRow = Sheets("Sheet1").Cells(Rows.Count, 1).End(xlUp).Row + 1
  For Each ws In Worksheets
    If ws.Name <> "Sheet1" Then
      vntData = ws.Range("A1:F5").Value
      Cells(lngRow, 1).Resize(, 16).Value = _
        Array(vntData(1, 1), vntData(2, 1), vntData(1, 2), _
              vntData(3, 1), vntData(3, 2), vntData(3, 3), vntData(3, 4), _
              vntData(3, 5), vntData(3, 6), _
              vntData(4, 1), vntData(4, 2), vntData(4, 3), vntData(4, 4), _
              vntData(4, 5), vntData(4, 6), _
              vntData(5, 1))
      lngRow = lngRow + 1
    End If
  Next
  MsgBox "終了しました"
End Sub

 

Excel VBA Macro