返回列表 上一主題 發帖

請各位先進幫忙 改我的VBA

本帖最後由 GBKEE 於 2010-10-19 21:45 編輯

回復 10# junsean
If Time <= TimeValue("08:59:00") Then   
      Range("A3:I50000") = ""                  '第一次條件成立時執行 如此
ElseIf  Time >= TimeValue("09:00:00") And Time <= TimeValue("13:32:30") Then   
          ar = Array([A2], [B2], [C2], [D2], [E2], [F2], [G2], [H2], [I2])  '只有9個元素  
          [A65536].End(xlUp).Offset(1, 0).Resize(, 10) = ar
          Application.OnTime Time + TimeSerial(0, 0, 10), "yy"       '這裡就不執行了
End If
  1. Sub yy()
  2.     With Sheet1
  3.         If Time <= TimeValue("08:59:00") Then
  4.            .Range("A3:I50000") = ""
  5.            Application.OnTime TimeSerial(9, 0, 0), "yy"
  6.         End If
  7.         If Time >= TimeValue("09:00:00") And Time <= TimeValue("13:32:30") Then
  8.             ar = Array(.[A2], .[B2], .[C2], .[D2], .[E2], .[F2], .[G2], .[H2], .[I2],.[J2])
  9.             .[A65536].End(xlUp).Offset(1, 0).Resize(, 10) = ar
  10.             Application.OnTime Time + TimeSerial(0, 0, 10), "yy"
  11.         End If
  12.     End With
  13. End Sub
  14. Sub xx()
  15.     With Sheet2
  16.         If Time <= TimeValue("08:44:00") Then
  17.             .Range("A3:J50000") = ""
  18.             Application.OnTime TimeSerial(9, 0, 0), "xx"
  19.         End If
  20.         If Time >= TimeValue("08:45:00") And Time <= TimeValue("13:45:00") Then
  21.             ar = Array(.[A2], .[B2], .[C2], .[D2], .[E2], .[F2], .[G2])
  22.             .[A65536].End(xlUp).Offset(1, 0).Resize(, 7) = ar
  23.             Application.OnTime Time + TimeSerial(0, 1, 0), "xx"
  24.         End If
  25.     End With
  26. End Sub
複製代碼

TOP

謝謝GBKEE
我明天試試看

另外
一定要放在module嗎 ?

TOP

回復 12# junsean
如不是在模組 需指明出處
Application.OnTime TimeSerial(9, 0, 0), "SHEET1.yy"
Application.OnTime TimeSerial(9, 0, 0), "SHEET2.XX"

TOP

可以10秒記錄一次了
可是怎麼沒按F5不會自動執行

因為我
期貨每10秒記錄一次
加權每1分鐘記錄一次

去看加權時都沒記錄
才按F5就開始記錄

好奇怪

TOP

回復 14# junsean
附檔來看看

TOP

關掉excel又自動開
一直都關不掉

TOP

關掉excel又自動開 一直都關不掉
junsean 發表於 2010-10-20 09:58

關掉整個 Excel 程式 APPLICATION.ONTIME 才會停止

TOP

可以
sheet1寫一個程式碼
sheet2寫一個程式碼?
因為我最早是這樣用的

dde.rar (7.29 KB)

dde

TOP

我舊的檔案

dde_old.rar (6.53 KB)

TOP

回復 18# junsean
再加上 Sub AUTO_OPEN() 存檔後 每次再開啟就可以
  1. Sub AUTO_OPEN()
  2.     yy
  3.     xx
  4. End Sub
複製代碼

TOP

        靜思自在 : 改變自己是自救,影響別人是救人。
返回列表 上一主題