オフィス・ブール ロゴ
【レスキュー連絡先】
代表 : 末永 尚登
TEL: 070-4087-0025 FAX:095-893-6090

【 VBAパーツ 】

8.串刺し集計

複数のワークシートに同じ形式の表があり、同じセル位置の数値を集計したい場合に便利です。
サンプルでは縦100行、横49列の表が複数シートあり、2枚目以降の表の集計結果を1枚目シートに表示する場合のものです。

Public Sub Sample()
'串刺し集計

    Dim ws As Worksheet
    Dim SheetName() As String
    Dim cntSheet As Long
    Dim i As Long
    
    
    '各シートの集計範囲を取得
    cntSheet = ThisWorkbook.Worksheets.Count - 1
    ReDim SheetName(1 To cntSheet) As String
    i = 1
    For Each ws In ThisWorkbook.Worksheets
        If ws.Name <> "Sheet1" Then
            SheetName(i) = ws.Name & "!R1C1:R100C49"
            i = i + 1
        End If
    Next ws
    
    'Sheet1に集計
    Sheet1.Range("A1").Consolidate Sources:=Array(SheetName), _
                                        Function:=xlSum
    
End Sub


 


オフィス・ブール ロゴ 所在地:長崎県長崎市  代表:末永尚登
E-mail: suenaga@officeboole.com   TEL: 070-4087-0025  FAX: 095-893-6090