1

Excel VBA/マクロの初心者です

ページ全体ではなく、ページの特定の部分を取得する必要があります。次のコードは完全なページで機能しますが、ページのすべての部分は必要ありません。

Sub GrabOutStandingTable()

With ActiveSheet.QueryTables.Add(Connection:= _
    "URL;http://dsebd.org/displayCompany.php?name=ABBANK", Destination:=Range( _
    "$A$1"))
    .CommandType = 0
    .Name = "displayCompany.php?name=ABBANK"
    .FieldNames = True
    .RowNumbers = False
    .FillAdjacentFormulas = False
    .PreserveFormatting = True
    .RefreshOnFileOpen = False
    .BackgroundQuery = True
    .RefreshStyle = xlInsertDeleteCells
    .SavePassword = False
    .SaveData = True
    .AdjustColumnWidth = True
    .RefreshPeriod = 0
    .WebSelectionType = xlSpecifiedTables
    .WebFormatting = xlWebFormattingNone
    .WebTables = """company"""
    .WebPreFormattedTextToColumns = True
    .WebConsecutiveDelimitersAsOne = True
    .WebSingleBlockTextImport = False
    .WebDisableDateRecognition = False
    .WebDisableRedirections = False
    .Refresh BackgroundQuery:=False
End With
Sheets.Add After:=ActiveSheet
End Sub

「会社のその他の情報」と題された表の部分は、私が話しているページの下部にあります。マクロはこの部分を抽出する必要があります。

4

2 に答える 2

0

古いデータ > Web からでは、Web サイトの構造が原因でこれを処理できません。必要なデータは他のテーブルに深くネストされており、複数のテーブルで構成されています。

代わりに Power Query を使用することをお勧めします (VBA は必要ありません)。このために XL2013 で Power Query を使用する方法を次に示します。Excel のリボンを使用して、[POWER QUERY] タブを見つけます。

  1. メニュー オプションを使用: POWER QUERY > Web から
  2. [Web から] ダイアログが表示されます。URL を入力します。
  3. [OK] をクリックします。
  4. 必要なデータは表 30 にあります。それを見つけてクリックし、[ロード] をクリックします。

XL2016 (office 365) がある場合、既に Power Query があります。XL2010 または XL2013 がある場合は、 https ://www.microsoft.com/en-us/download/details.aspx?id=39379&CorrelationId=1441491e-917e-43de-8d6a-21f98287c3c2 からダウンロードできます。

于 2016-10-27T18:27:04.780 に答える