【VBA】祝日一覧をワンクリックで取り込む方法

VBA

Excel VBA 一覧

ご訪問ありがとうございます。

Googleシートマスターのひろしです。

今回は、とっても価値の高い方法をお伝えします。


これを知ることであなたは、

  • ワンクリックで今年と来年の祝日が取得できます。

なので、サクッとマスターして

と答えてあげてください。

動画はこちら

準備中

設定方法

Step1:Excelを開く

Excelを起動し、新しいブックを作成します。

Step2:シート名を変更する

シート名を「祝日一覧」に変更します。

Step3:VBAエディタを開く

「開発」タブの「コードの表示」をクリックします。

「開発」タブが表示されていない場合は、「ファイル」→「オプション」→「リボンのユーザー設定」を開き、「開発」にチェックを入れてください。

Step4:VBAコードを貼り付ける

表示されたコード画面に、本記事で紹介しているVBAコード(スクリプト)を貼り付けます。

Step5:ボタンを配置する

Excelに戻り、「開発」タブ→「挿入」→「ボタン(フォームコントロール)」をクリックします。

シート上でドラッグし、ボタンを配置してください。

Step6:マクロを割り当てる

ボタンを配置すると「マクロの登録」画面が表示されます。

一覧に表示されたマクロを選択し、「OK」をクリックします。

Step7:ボタンをクリックして動作を確認する

配置したボタンをクリックし、マクロが正常に実行されることを確認します。

Step8:ボタンの表示名を変更する

ボタンを右クリックし、「テキストの編集」をクリックします。

「ボタン 1」などの文字を、用途が分かる名前(例:祝日一覧の取得)に変更してください。

編集後、シート上の何もない場所をクリックすると変更が確定します。

 

 

 

スクリプト



Sub 祝日取込()

    Const 祝日CSV_URL As String = "https://www8.cao.go.jp/chosei/shukujitsu/syukujitsu.csv"

    Dim HTTP As Object
    Dim CSV文字列 As String
    Dim 行データ() As String
    Dim 項目() As String

    Dim 行番号 As Long
    Dim i As Long
    Dim 祝日 As Date
    Dim 今年 As Long

    今年 = Year(Date)

    Set HTTP = CreateObject("MSXML2.XMLHTTP")

    HTTP.Open "GET", 祝日CSV_URL, False
    HTTP.Send

    If HTTP.Status <> 200 Then
        MsgBox "祝日CSVの取得に失敗しました。"
        Exit Sub
    End If

    CSV文字列 = StrConv(HTTP.responseBody, vbUnicode)

    With Sheets("祝日一覧")
        .Range("A1:B25").ClearContents
        行データ = Split(CSV文字列, vbCrLf)
        行番号 = 1

        For i = 1 To UBound(行データ)
            If Trim(行データ(i)) <> "" Then
                項目 = Split(行データ(i), ",")
                If UBound(項目) >= 1 Then
                    祝日 = CDate(項目(0))
                    If Year(祝日) >= 今年 Then
                        .Cells(行番号, 1).Value = 祝日
                        .Cells(行番号, 2).Value = 項目(1)
                        行番号 = 行番号 + 1
                    End If
                End If
            End If
        Next i
    End With

    MsgBox 行番号 & "件の祝日を取り込みました。"

End Sub


最後までご覧いただきありがとうございます。

つぎはこちら

【VBA】ExcelでQRコードを表示させる方法
Excelで手軽に(?)QRコードを表示させることができるようになります。

Excel VBA 一覧

コメント

タイトルとURLをコピーしました