返回列表 上一主題 發帖

[發問] EXCEL連結DDE記錄問題

本帖最後由 GBKEE 於 2015-7-28 13:05 編輯

回復 3# daniel5168
試試看
  1. Sub 自動記錄()
  2.     Dim E As Variant, Rng As Range, t As Date, S As Integer, Shts()
  3.     Shts = Array("Sheet1", "商品1", "商品2", "商品3") '工作表在活頁簿的名稱
  4.     If uMode = 0 Then Exit Sub
  5.     For Each E In Shts
  6.         With Sheets(E)
  7.             ' .Activate 成為作用中的工作表
  8.             If Time > TimeValue(EndTime) Then '收盤時間以後不執行
  9.                 .[O8] = "已過收盤"
  10.                 uMode = 0
  11.                 GoTo For_Next 'Exit Sub
  12.             End If
  13.             .Range("B8") = Time '當前時間(時間碼表)
  14.             '----------------------------------------------------------
  15.             Set Rng = .Range("A65536").End(xlUp).Offset(1)
  16.             .Range("A" & Rng.Row & ":N" & Rng.Row).Value = .Range("A8:N8").Value
  17.             '------------------------------------------------
  18.             ActiveWindow.ScrollRow = IIf(Rng.Row > 20, Rng.Row - 18, 1) '讓最新資料保持在可見視窗中
  19.             Beep
  20.         End With
  21. For_Next:
  22.     Next
  23.     '------------------------------------------------
  24.     '下一個間隔的分鐘
  25.     S = 1  '每1分鐘記錄,5分鐘則改為5
  26.     t = Int(Application.Text(Time, "[m]") / S) + 1 '(總分鐘數/間隔的分鐘數) + 1
  27.     t = DateAdd("N", S * t, 0)                     '從0分鐘後的 T * 間隔的分鐘數
  28.     ThisWorkbook.Save   '存檔
  29.     Application.OnTime t, "自動記錄"
  30. End Sub
複製代碼
感恩的心......(在麻辣家族討論區.用心學習會有進步的)
但資源無限,後援有限,  一天1元的贊助,人人有能力.

TOP

        靜思自在 : 脾氣嘴巴不好,心地再好也不能算是好人。
返回列表 上一主題