本練習展示瞭如何從網站讀取數據,在本例中是來自 Yahoo.com 的最新貨幣匯率。
假定閱讀器顯示了開發人員功能區,並且熟悉VBA編輯器。 如果沒有,請使用Google“ Excel開發人員標籤”或“ Excel代碼窗口”。
先決條件包括填充組合框和定義名稱的知識.
工作簿由兩張紙組成:
用戶界面:
Buy 和 Sell 組合框參考下面的本地數據表。
D11 中的表格將從網站本身自動粘貼,保留用戶格式。
可以下載本練習的 xlsm 此處.
自己構建應用程序。
創建一個帶有兩個組合框的工作表。 組合框將引用第二張紙上的單元格。
組合框還將調用代碼來閱讀網站,使用 更改 事件。
貨幣名稱可以粘貼到下面列表中的第二張表(“貨幣”)中,排序順序取決於個人喜好:
| ZAR |
| USD |
| EUR |
| GBP |
| 瑞士法郎 |
| AUD |
| NZD |
| 日圓 |
| CAD |
| 瑞典克朗 |
| DKK |
| NOK |
| MUR |
| HKD |
| SGD |
| ILS |
| AED |
| INR |
| CNY |
將數據粘貼到 B 列和 E 列中。
按照圖示定義名稱並使用索引函數:
由於名稱已在本地數據表“Currencies”上定義,表“Main”只需引用定義的名稱即可獲取值,即分別為“Main”單元格 E10 和 G10 =SELL 和 =BUY。
我們將編寫 Excel 來閱讀網頁。 但是,它在數據功能區上有自己的內置流程,您可能希望在構建不同場景時將其實例記錄為宏。 請注意,計算機或瀏覽器配置可能會對網頁腳本產生不利影響。
守則
插入一個模塊,然後輸入以下內容:
Option Explicit
Sub Ticker()
Dim currBuy As String
Dim currSell As String
Range("D11:F14").ClearContents 'prepare the ground for the web data
currBuy = Range("BUY") 'get variable values from Defined Names previously set up
currSell = Range("SELL")
With ActiveSheet.QueryTables.Add(Connection:= _
"URL;http://finance.yahoo.com/q?s=" & currBuy & currSell & "=X", Destination:=Range("$D$11"))
.Name = "q?s=" & currSell & currBuy & "=X"
.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 = """table1"""
.WebPreFormattedTextToColumns = True
.WebConsecutiveDelimitersAsOne = True
.WebSingleBlockTextImport = False
.WebDisableDateRecognition = False
.WebDisableRedirections = False
.Refresh BackgroundQuery:=False
End With
End sub
Sub DropDown2_Change() 'This event will call the routine above. Object name might differ.
Call Ticker
End Sub
Sub DropDown1_Change()
Call Ticker
End Sub
將工作簿另存為 xlsm 類型.
通過更改組合框的值來測試代碼,然後調整粘貼表格的格式(四位小數、網格線、陰影?)。
Excel文件損壞
眾所周知,Excel 有時會在保存時損壞文件,然後嘗試自己的自我恢復例程,根據我的經驗,這通常根本不起作用。 這對用戶來說可能是災難性的,因為它是被破壞的源文件(可能是您唯一的副本)。 損壞的 Excel 文件 但是可以使用第三方工具進行修復,從而節省大量時間和精力。
作者簡介:
Felix Hooker是的數據恢復專家 DataNumen,Inc.是數據恢復技術的全球領導者,包括 修復 rar 過去 和sql恢復軟件產品。 欲了解更多信息,請訪問 萬維網。datanumen.COM
