- 帖子
- 81
- 主題
- 31
- 精華
- 0
- 積分
- 117
- 點名
- 0
- 作業系統
- windows7
- 軟體版本
- office2010
- 閱讀權限
- 20
- 性別
- 男
- 來自
- 台北
- 註冊時間
- 2013-8-3
- 最後登錄
- 2024-4-30
|
一段關於開盤價最高價最低價收盤價的vb程式碼請教
Private Sub Worksheet_Calculate()
Dim NowDateTime, nowTime, startTime, stopTime
Dim tr As String
NowDateTime = Now '現在的時間值, 去掉整數部份,
nowTime = (NowDateTime - Int(NowDateTime)) '得到現在的時間值
startTime = Range("A6") '開盤時間, 例如: "09:00:00 AM"
stopTime = Range("A8") '收盤時間, 例如: "01:30:00 PM"
If nowTime <= startTime Then '尚未開盤
Exit Sub
ElseIf nowTime > stopTime Then '已經收盤
Exit Sub
ElseIf [A2] <> "-" And [A2] <> "###" Then '清盤的狀態, 不取其資料
tr = Int((nowTime - startTime) * 288) + 2 '每差 300 秒就換一列
If Range("D" & tr) = "" Then
Range("D" & tr) = Range("A2") '開始價
End If
If Range("E" & tr) = "" Or Range("A2") > Range("E" & tr) Then
Range("E" & tr) = Range("A2") '最高價
End If
If Range("F" & tr) = "" Or Range("A2") < Range("F" & tr) Then
Range("F" & tr) = Range("A2") '最低價
End If
Range("G" & tr) = Range("A2") '結束價
End If
End Sub
問題:
1.Private Sub Worksheet_Calculate()
Dim NowDateTime, nowTime, startTime, stopTime
Dim tr As String
這一區的意義是?
第一排的dim沒有寫出資料型態是什麼
第二排是定義tr的資料型態為字串
這一區是宣告在這整張工作表都適用的意思嗎
2. ElseIf [A2] <> "-" And [A2] <> "###" Then '清盤的狀態, 不取其資料
這一段裡的"###"是什麼意思呢?~~前面的意思是寫a2不等於空白~~and a2不等於###~~那請問###是什麼意思阿??
3.tr = Int((nowTime - startTime) * 288) + 2 '每差 300 秒就換一列
start=早上9點~~nowtime=現在的時間~~*288+2~~這一串我不大能理解~~還請高手能協助解釋一下嗎?感謝了
問題很基礎~~個人自學幾個月~~很多一知半解~~問題若太笨~~還請見諒 |
|