2017-10-20 9 views
0

WSJ Futuresからテーブルを取得しようとしていますが、Webアドレスの日付を変更できるようにしたいと考えています。私の希望は、以下のコードを使用して、ウェブサイトをセル参照にすることです。どのようにこの作品を作るか、私はウェブサイトのセル参照と同じ結果を得る別のコードを作るためのアイデア?GetWebTableの接続にセル参照を使用する

Sub GetWebTable() 
    With ActiveSheet.QueryTables.Add(Connection:="http://www.wsj.com/mdc/public/page/2_3023-fut_metal-futures-20170901.html?mod=mdc_pastcalendar", Destination:=Range("a1")) 
     .Refresh BackgroundQuery:=False 
     .SaveData = True 
    End With 
End Sub 

答えて

0

これを試してください。それはあなたにテーブルをフェッチします。このConnection:="URL;" & URL,の部分を詳しく見てください。あなたはそこにいた。

Sub GetWebTable() 
    Dim URL As String 
    URL = "http://www.wsj.com/mdc/public/page/2_3023-fut_metal-futures-20170901.html?mod=mdc_pastcalendar" 

    With ActiveSheet.QueryTables.Add(Connection:="URL;" & URL, Destination:=Range("A1")) 
     .Refresh BackgroundQuery:=False 
     .SaveData = True 
    End With 
End Sub 

EDIT:あなたはすべての以外の任意の特定のテーブルを解析したい場合は、あなただけの私は以下やったとして、それのインデックス番号を見つける必要がある

Sub GetWebTable() 
    Dim URL As String 
    URL = "http://www.wsj.com/mdc/public/page/2_3023-fut_metal-futures-20170901.html?mod=mdc_pastcalendar" 

    With ActiveSheet.QueryTables.Add(Connection:="URL;" & URL, Destination:=Range("A1")) 
     .WebTables = "3" 'You can parse any specific table as well. For more than one table change the parameter "2,3" like this 
     .Refresh 
    End With 

End Sub 
+0

このテーブルが引くのが、また、Webアドレスがコード化されているため、毎回今日のデータを取得し、A1アドレスに日付が変わることはありません。 (日付はコードの20170901の部分です)カレンダー機能を回避する方法についての他のアイデアはありますか? –

関連する問題