標題:
[發問]
"if"函數紀錄"動態"資料可否讓資料靜態停止?
[打印本頁]
作者:
shing0520
時間:
2013-10-25 01:06
標題:
"if"函數紀錄"動態"資料可否讓資料靜態停止?
由於上司最近迷上股票,因此常常會指派奇怪的excel問題,有些已經超過小妹的能力範圍,因此今天特地來版上求助大家<(_ _)>
第一、第二列的資料(從股票軟體自動匯入的動態資料)
代碼 商品 交易日期 時間 買進 賣出 成交 漲跌
FITX*1 台股指數近月 2013/10/22 13:45:00 8414 8415 8414 14
上司交代,希望每次資料到了「他指定的時間,就可以自動記錄1)成交2)漲幅」 而他交代的時間點有: 08:45:05/08:45:15/10:00:00/10:30:00/11:00:00/11:30:00/12:00:00/13:40:00
本來我是簡單的想說 那我就列個表格如下
時間 漲幅 成交
08:45:05 1* 2*
我的設定:
1 = IF( 08:45:05 =$C$4動態資料的時間,D$4動態資料的漲幅," ")
2 = IF(08:45:05 =$C$4動態資料的,E$4$動態資料的成交價," ")
問題:
經過測試後,在08:45:05時,動態資料的確會顯示在我所安排的1*、2*儲存格裡,但是到了08:45:06時,資料就消失了(畢竟我的if函數中所設定的value_if_false是=" "),不知道有沒有辦法可以讓資料hold在08:45:05呢????? <(__ __)> 勞煩版上的大大了, 附件 [attach]16474[/attach]
作者:
yuhuahsiao
時間:
2013-10-25 08:18
回復
1#
shing0520
您這個要用下面VBA 方式 記錄, 因為看盤軟體的資料不會一直保留,會隨時間往前走
所以過去的資料要自己儲存
http://forum.twbts.com/viewthread.php?from=notice&tid=10556
作者:
c_c_lai
時間:
2013-10-25 09:55
本帖最後由 c_c_lai 於 2013-10-25 09:57 編輯
回復
1#
shing0520
1. 首先妳開啟 "股票報價數據自動記錄.xlsx" 檔案後,將它另存新檔
存檔類型請選擇 "Excel 啟用巨集的活頁簿 (*.xlsm)" 、或者
"Excel 97-2003 活頁簿 (*.xls) " 的檔案型態。
2. 請將下列程式碼全部剪貼至 ThisWorkbook 程式碼區塊內儲存:
Option Explicit
Private Sub Workbook_Open()
If Weekday(Date, 2) <= 5 Then Scheduler ' 非假日則執行 Scheduler
End Sub
Sub RTimer()
Dim TimeRange As Range, Rng As Range
Dim tm As Date
If TimeValue(Now) >= TimeValue("13:45:01") Then Exit Sub ' 一過盤後即自行跳離,不再執行
tm = Now()
With Sheets("連結時間記錄")
Set TimeRange = .[A:A].Find(TimeSerial(Hour(tm), Minute(tm), 0)) ' 檢查 "A" 欄位對應之時間資料
If Not TimeRange Is Nothing Then ' 吻合預先排程時段,則執行對稱寫入資料
Set Rng = TimeRange.Offset(, 1).Resize(1, 2)
Rng(1) = .[I2] ' 漲幅%
Rng(2) = .[G2] ' 成交
End If
End With
Scheduler
End Sub
Sub Scheduler()
If TimeValue(Now) < TimeValue("08:45:00") Then
Application.OnTime (TimeValue("08:45:00")), "ThisWorkbook.RTimer" ' 8:45 時間一到會自動執行
Else
Application.OnTime (Now + TimeValue("00:00:01")), "ThisWorkbook.RTimer" ' 每隔一分鐘搜尋一次
End If
End Sub
複製代碼
3. 將檔案先行儲存關閉後,再重新開啟就可自動處理運作了。
4. 在程式中我加註了一些說明,希望對妳會有所幫助。祝愉快!
作者:
shing0520
時間:
2013-10-28 22:11
真是感謝樓上的大家的幫忙~~我這就來試試看~如後續有遇到問題 還拜託大家了 <(___ ___)> 真是金多蝦!
作者:
shing0520
時間:
2013-10-31 09:34
[attach]16517[/attach]T____T 測試了好幾天,似乎都沒動靜,不知道是不是我哪裡搞錯了
附上偵錯圖,還望哪位大師有空發揮愛心幫忙解惑<(__ __)> 感恩
作者:
c_c_lai
時間:
2013-10-31 09:48
回復
5#
shing0520
請問你的程式碼放置於何處?
模組裡放的是甚麼?
作者:
c_c_lai
時間:
2013-10-31 10:14
回復
5#
shing0520
[attach]16518[/attach]
作者:
shing0520
時間:
2013-10-31 10:27
程式碼放置: 我是點選「ThisWorkbook」點右鍵,「檢視程式碼」,然後把c_c_lai大師的程式碼 複製貼上在「右邊的空白框裡」
模組裡面: 之前不小心按到"錄製巨集"(有馬上按停),剛剛有把模組裡的東西給刪除了,但是還是沒幫助 T_T
PS 我感覺VBA是有觸發,只是無法把我要的data記錄下來~
由於這是第一次使用VBA,如果如果搞了啥蠢事,還希望大家肯發揮愛心 <(__ __)> 謝謝~
作者:
shing0520
時間:
2013-10-31 15:26
附上我的檔案~還望善心人士的解答 <(__ __)> [attach]16521[/attach]
歡迎光臨 麻辣家族討論版版 (http://forum.twbts.com/)