【VBA】Webページ上の表をシートへ取り込む

例えばWeb上にある以下の表を、


以下のようにシートへ取り込むことが出来ます!


ここではVBAで実現する方法を記載します!

VBAコード

ここでは例として、以下のURLにある表をシート「sample」へ取り込みます。
第5回 青鳩トレイルラン大会の男子30代Aの記録

Option Explicit

Sub sample()

    '取得したい表を持つURL
    Const TARGET_URL As String = "https://mulka2.com/lapcenter/lapcombat2/result-list.jsp?event=6047&file=3&class=7"
    
    With Worksheets("sample").QueryTables.Add(Connection:="URL;" + TARGET_URL, _
                                              Destination:=Range("B2"))
        '列幅を元の表と同じにする
        .AdjustColumnWidth = True
        '書式は設定しない
        .WebFormatting = xlWebFormattingNone
        '指定したテーブルのみ取得する
        .WebSelectionType = xlSpecifiedTables
        '1つ目の表を取得する
        .WebTables = 1
        '最新化する(データを取得する)
        .Refresh BackgroundQuery:=False
        '作成される「クエリと接続」を削除
        .Delete
    End With

End Sub

「Destination」に「Range(“B2”)」を指定しているため、取り込んだ表はセル「B2」から設定されます。

実行結果

Webページ上の表をシートへ取り込むことが出来ました。

備考

「クエリと接続」は
 ・タブ「データ」配下の「クエリと接続」をクリック
することで、表示できます。

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