2015-01-08 84 views
0

我想下載我們在本頁面關於倫敦銀行同業拆借利率表:下載表格與Excel

http://online.wsj.com/mdc/public/page/2_3020-libor.html(Specificaly,一個是它的約USD)

通過使用來自網絡的數據/進口,如果我按表導入它不會出現表,但如果我導入整個頁面出現一個

有沒有辦法,使用VBA可能,我可以在哪裏獲得該表?

+0

我想你不想聽到它在Google Spreadsheets中非常容易! – pnuts

回答

1

作爲VBA的替代方案,您可以下載並安裝名爲Power Query的免費Microsoft Excel加載項。在安裝電源查詢,步驟是:

  • 單擊Power查詢功能區
  • 單擊「從網絡」圖標
  • 粘貼部位
  • 在側欄中的網址,選擇Table0和編輯查詢
  • 您將看到已經應用了一些轉換步驟。添加下面的轉換:
  • 除去頂部行(只有1行)
  • 集中的第一行作爲標題
  • 卸下底部行(27行)
  • 點擊「關閉並加載」到轉換後的數據寫入到Excel文件中的表格。

現在您只需要在網站有新號碼時刷新數據連接。

該屏幕截圖具有帶有Power Query功能區和後臺結果表的Excel文件。頂部的窗口是Power Query界面。轉換步驟在右側的面板中列出。

enter image description here

每個轉換步驟被記錄在一個名爲 「M」 的語言。在Power Query中,您可以單擊查看>高級編輯器來查看和更改M代碼。它是一種非常強大的語言,其語法與Excel公式或VBA完全不同。我只是在這裏提及它,讓您意識到可以在功能區上單擊圖標之外自定義轉換。生成的代碼是:

let 
    Source = Web.Page(Web.Contents("http://online.wsj.com/mdc/public/page/2_3020-libor.html")), 
    Data0 = Source{0}[Data], 
    #"Changed Type" = Table.TransformColumnTypes(Data0,{{"Column1", type text}, {"Column2", type text}, {"Column3", type text}, {"Column4", type text}, {"Column5", type text}}), 
    #"Removed Top Rows" = Table.Skip(#"Changed Type",1), 
    #"First Row as Header" = Table.PromoteHeaders(#"Removed Top Rows"), 
    #"Removed Bottom Rows" = Table.RemoveLastN(#"First Row as Header",27) 
in 
    #"Removed Bottom Rows" 
+0

我想可能會非常有用,儘管我很謹慎添加更多的M $項目,如此多已經不起作用。任何想法爲什麼獲取外部數據,從Web獲取選擇表,但導入空白?這是主題,但可能會提及這種方式是否適合你? – pnuts

+0

@pnuts恩,它也不適用於我。我沒有看過細節。網絡上的表格越來越少見。開發人員正在使用基於動態JavaScript的方式來提供內容。當從Excel調用頁面時,javascript將不會運行。不確定VBA是否可以加載數據。我不熟悉那種VBA。 – teylyn

+0

非常感謝您的反饋。奇怪的是,Google Spreadsheets沒有問題。 – pnuts