【エクセルマクロ】同じ日付をカウントする:コピペで使えるコード

ExcelVBA_同じ日付カウント-アイキャッチ ExcelVBA

エクセルマクロで、同じ日付をカウントするVBAコードをご紹介します。

このページのマクロコードは、コピペで使えます。
ぜひお試しください!

同じ日付をカウントする

以下のExcelVBAを実行すると、日づけの個数を数えて結果を転記します。


Sub 日付個数カウント()

Dim myDic As Object
Dim myKey, myItem As Variant
Dim myList As String
Dim i As Long

    Set myDic = CreateObject("Scripting.Dictionary")

    'A列の2~最終行までループ
    For i = 2 To Cells(Rows.Count, 1).End(xlUp).Row

        myList = Format(Cells(i, 1), "yyyy/m/d")

        If Not myDic.exists(myList) Then
           '重複しない日付を格納
            myDic.Add Key:=myList, Item:=1
        Else
            '日づけが重複していたら、個数カウント
            myDic(myList) = myDic(myList) + 1
        End If
    Next

    myKey = myDic.keys
    myItem = myDic.items

    'D列・E列へ結果出力
    For i = 0 To UBound(myKey)
        Cells(i + 2, 4).Value = myKey(i)
        Cells(i + 2, 5).Value = myItem(i)
    Next

    'D列・E列のデータ並べ替え
    With ActiveSheet.Sort
        .SetRange Range(Cells(2, 4), Cells(UBound(myKey) + 2, 5))
        .Apply
    End With

    '開放
    Set myDic = Nothing

End Sub

 

マクロ実行前


 

マクロ実行後

A列から重複しない日付を取得して、D列へ転記します。

E列に日付のカウント結果を転記します。

D列とE列を並び替えします。(D列の日付を昇順)


 
 
この記事がお役に立ちますと幸いです。
 
・【エクセルマクロ】日付処理を自動化する使用例まとめ
 

【エクセルマクロ】日付処理を自動化する:使用例17選
...

 

「Excel自動化[最強]時短仕事術」
自動化の基礎と時短に役立つテクニック解説書
毎日の定型業務を手際良く行え、大幅な業務効率化を実現!