Board logo

標題: [發問] 請問一段excel vba程式碼的錯誤 [打印本頁]

作者: laieven    時間: 2015-6-11 14:56     標題: 請問一段excel vba程式碼的錯誤

本帖最後由 laieven 於 2015-6-11 14:57 編輯

我在工作表事件程序中的calculate中
放入了

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")

這一段程式碼~~但是偵錯卻一直告訴我
If Range("D" & tr) = "" Then
以及
If Range("E" & tr) = "" Or Range("A2") > Range("E" & tr) Then
這二段有錯誤

"執行錯誤13--型太不符合"

有請各位先進協助~~問題是什麼呢?感謝了!!!
作者: luhpro    時間: 2015-6-12 23:33

回復 1# laieven
試試開檔時先把 D欄 與 E欄 中的資料儲存區全部清除(值 與 格式),
後再執行其他程式.
作者: laieven    時間: 2015-6-17 11:04

回復 2# luhpro


    已更改~~但仍舊是錯誤的!!

這是整段程式碼~~還請協助

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
''        If [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 Sub




歡迎光臨 麻辣家族討論版版 (http://forum.twbts.com/)