- 帖子
- 79
- 主題
- 26
- 精華
- 0
- 積分
- 111
- 點名
- 0
- 作業系統
- winxp
- 軟體版本
- office 2010
- 閱讀權限
- 20
- 註冊時間
- 2011-12-20
- 最後登錄
- 2022-8-3
|
DDE記錄如何複製在不同工作表
看了這篇DDE數據每分鐘紀錄下來對於剛接觸VBA不懂的我覺得非常實用
對於如何要記錄 引用GBKEE大大的這句 'R 是A3的公式 =Data!B2 所指的位置 假如這是記錄台指期的DDE 並同時也要記錄電子期與金融期的DDE在不同
的工作表如Sheet5(電子期)與Sheet6(金融期) 不懂的我試著照抄 還是不行請教應該如何做 以下是引用GBKEE大大的VBA 並加入我錯誤的方法- Private Sub Workbook_Open()
- If Time >= TimeValue("08:45:00") And Time <= TimeValue("13:45:00") Then
- Sheet2.[B7:G307] = ""
- change
- Else
- Application.OnTime "09:01:00", "ThisWorkbook.change"
- End If
- End Sub
- '''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''
- Private Sub change()
- Dim TimeRange As Range, Rng As Range, R As Range
- With Sheet2
- Set TimeRange = .[A:A].Find(Format(TimeSerial(Hour(Time), Minute(Time), 0), "hh:mm"), LookIn:=xlValues)
- Set Rng = TimeRange.Offset(, 1).Resize(1, 6)
- Set R = Application.Evaluate(Mid(.Range("A3").Formula, 2))
- 'R 是A3的公式 =Data!B2 所指的位置
- With Sheet5 '電子期我加入的部分
- Set TimeRange = .[A:A].Find(Format(TimeSerial(Hour(Time), Minute(Time), 0), "hh:mm"), LookIn:=xlValues)
- Set Rng = TimeRange.Offset(, 1).Resize(1, 6)
- Set R = Application.Evaluate(Mid(.Range("A3").Formula, 3))
- 'R 是A3的公式 =Data!B2 所指的位置
- With Sheet6 '金融期我加入的部分
- Set TimeRange = .[A:A].Find(Format(TimeSerial(Hour(Time), Minute(Time), 0), "hh:mm"), LookIn:=xlValues)
- Set Rng = TimeRange.Offset(, 1).Resize(1, 6)
- Set R = Application.Evaluate(Mid(.Range("A3").Formula, 4))
- 'R 是A3的公式 =Data!B2 所指的位置
- End With
- End With
- End With
- Rng.Value = R.Offset(, 1).Resize(, 6).Value
- If Time > TimeValue("13:45:00") Then Exit Sub
- Application.OnTime Now + TimeValue("00:01"), "ThisWorkbook.change"
- End Sub
複製代碼 只會記錄最後一個Sheet6 請大大指導該如何加入 謝謝 |
|