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

これらの顧客シートをまとめた一覧表を、シートAに作成したいのです。
一覧表シートに取込のボタンがあり、このボタンを押すと顧客シートの内容を一覧作成したいのです。
この方法が好ましくないのであれば、一覧を作成、管理するエクセルファイルがあり、顧客情報を一つのエクセルファイルとして扱ってもいいと思います。
よろしくお願いいたします。
|
|
|
以下のような感じでできると思います。
まとめシートは、「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
|
|