ばくがの業務効率化チャンネル

このブログは個人的なエクセルの備忘録です

集計

Sub 集計()
 
  '日付と種類の変数宣言
  Dim 日付 As Long
  Dim 種類 As Long
  
  'ワークシート宣言
  Dim 管理シート As Worksheet
  Dim 集計シート As Worksheet
  
    'ワークシート名設定
  Set 管理シート = Sheet1
  Set 集計シート = Sheet2
    
    
   '集計シートの日付を先頭から最終行まで_空白行分をマイナス
    For 日付 = 1 To Cells(Rows.count, 1).End(xlUp).Row - 6
    

   '集計シートのカウント対象の(B6)から最終行まで
    For 種類 = 1 To Cells(6, 2).End(xlToRight).Column - 1
     
   
            With 集計シート.Range("A6")
            
                '日付は管理シートのA列、種類は管理シートのB列

                '開始はA6から集計シートの「日付」と「種類」が一致する数を管理シートからクロス集計
                
                .Offset(日付, 種類) = WorksheetFunction.CountIfs(管理シート.Range("A:A"), .Offset(日付, 0), 管理シート.Range("B:B"), .Offset(0, 種類))

            End With

        Next

    Next
    
End Sub