我目前正在嘗試處理Excel中的數據連接,並且我想在數據週期性更改時動態填充某些單元格。使用Excel中的數據連接動態填充單元格
更確切地說,我有一個Excel工作表,每8分鐘通過一個互聯網數據連接 - 股票市場更新,每3分鐘更新一次。每隔3分鐘一個單元格的內容(十進制數),例如B1被更新。
我想知道是否有可能在我的工作表的一列中,在整個8小時內「記錄」每個數字B1。 8 * 60/3 = 160,因此我想動態填充單元格B1內容的160個單元格。
如果有可能,那麼我想從這160個單元中取出最大值(使用MAX(,)函數),在另一列中記錄該數字並繪製B1值演化圖超過8小時的時間窗口。我們的想法是每天都這樣做,以便在一週或一個月後,我可以查看工作表並評估市場趨勢。
以下的答案和評論,我試圖寫一些VBA子程序,但我努力讓他們實際工作。這裏是我的代碼:
Dim RunTime As Date
Dim j As Integer
Sub CopyCell()
Sheets("test").Cells(j, 3) = Sheets("test").Range("B1").Value
j = j + 1
'If Time >= TimeSerial(20, 0, 0) Then'
Application.OnTime RunTime, "CopyCell()", , False
End If
End Sub
Sub Main()
MsgBox "Starting Macro"
j = 0
RunTime = Now + TimeValue("00:03:00")
Application.OnTime RunTime, "CopyCell()"
End Sub
對於與此同時,我觸發的Main()子自己,希望讓它停在20:0:0(晚上8點)。當我觸發Main()子程序時,我收到消息「CopyCell()在本工作簿中不可用」,但我確實已將上述代碼複製到VBA編輯器的ThisWorkbook選項卡中,並且已啓用所有宏。請注意,如果我單獨運行CopyCell()子,則將單元格B1的內容複製到單元格C1。
你能幫我弄清楚我的代碼有什麼問題嗎?
感謝, -David
嗨,我真的不喜歡沒有任何想法如何做到這一點...這是我第一次使用Excel與數據連接,我只知道如何閱讀更新的數據。我猜測必須有定期複製單元格數據的功能,但我找不到它。 – david 2013-04-11 02:28:02
沒有一個內置的公式或函數來完成你所要求的內容,你可以找到一個混合和匹配來完成它,但最簡單的事情就是將它寫入某種數據庫並在那裏分析,因爲你每週至少要寫成千條記錄,至少 – 2013-04-11 03:32:42