返回列表 上一主題 發帖

計數器的問題

回復 4# lucky12345
試試看
  1. Dim The_Time As Date
  2. Sub count_time()
  3.     Sheet1.[G14] = IIf(The_Time = 0, 0, Sheet1.[G14] + 1)
  4.     If TimeValue(The_Time) > Time Then
  5.         Application.OnTime The_Time, "count_time", , False
  6.         Sheet1.[G14] = 0
  7.     End If
  8.     The_Time = Now + TimeValue("00:00:02")
  9.     Application.OnTime The_Time, "count_time"
  10. End Sub
複製代碼
感恩的心......(在麻辣家族討論區.用心學習會有進步的)
但資源無限,後援有限,  一天1元的贊助,人人有能力.

TOP

回復 7# lucky12345
附檔的Worksheet_Calculate() 是sheet3工作表模組(Sheets("sheet2")的重算事件程序
要改放在Sheet1工作表模組(Sheets("Sheet4")的重算事件程序
  1. Private Sub Worksheet_Calculate()     
  2.    'Sub count_time()程式碼 Sheet1.[G14] = IIf(The_Time = 0, 0, Sheet1.[G14] + 1)
  3.     'Sheet1是 Sheets("sheet4")在VBA中的CodeName (物件的代碼名稱)
  4.     '程式碼 可改成  [Sheet4!G14] = IIf(The_Time = 0, 0, [Sheet4!G14] + 1)
  5.    
  6.     '[Sheet4!G14]-> [活業簿的(如工作表上)公式,名稱,函數]

  7.     Application.EnableEvents = False
  8.     With Sheet3
  9.         If UCase(.[B1000]) = "K" Then
  10.             .[q1000:s993] = .[q1001:s1008].Value
  11.         End If
  12.         'If [Sheet4!G14] <= 9 Then .[Q992:S1000] = ""
  13.         '***************************************
  14.         If [G14] <= 9 Then .[Q992:S1000] = ""
  15.         '沒有 . [G14]為這工作表模組上的[G14]
  16.         '不是 Sheet3的 [G14]
  17.         '****************************************
  18.         
  19.         If .[P993] >= 1 Then .[R993:S993] = ""
  20.         If .[P994] >= 1 Then .[R994:S994] = ""
  21.         If .[P995] >= 1 Then .[R995:S995] = ""
  22.         If .[P996] >= 1 Then .[R996:S996] = ""
  23.         If .[P997] >= 1 Then .[R997:S997] = ""
  24.         If .[P998] >= 1 Then .[R998:S998] = ""
  25.         If .[P999] >= 1 Then .[R999:S999] = ""
  26.     End With
  27.     Application.EnableEvents = True
  28. End Sub
複製代碼
感恩的心......(在麻辣家族討論區.用心學習會有進步的)
但資源無限,後援有限,  一天1元的贊助,人人有能力.

TOP

回復 10# lucky12345
都有啊
  1. Private Sub Worksheet_Calculate()
  2.     Application.EnableEvents = False
  3.     If UCase([B1000]) = "K" Then
  4.         Stop
  5.          [q1000:s993] = [q1001:s1008].Value
  6.     End If
  7.     If [F1000] <= 5 Then
  8.         Stop
  9.         Debug.Print [F1000]
  10.         [q993:S1000] = ""
  11.     End If
  12.     Application.EnableEvents = True
  13. End Sub
複製代碼
感恩的心......(在麻辣家族討論區.用心學習會有進步的)
但資源無限,後援有限,  一天1元的贊助,人人有能力.

TOP

本帖最後由 GBKEE 於 2014-10-30 05:02 編輯

回復 12# lucky12345
無法自動觸發(怎麼試都不行)??
是有執行到 Stop時後,所以只能用手動 ->到檢視程式碼 ->按執行  才會做動一次
你可以刪掉 Stop 了
Stop 是讓你觀察程式有執行到 If UCase([B1000]) = "K" Then
感恩的心......(在麻辣家族討論區.用心學習會有進步的)
但資源無限,後援有限,  一天1元的贊助,人人有能力.

TOP

        靜思自在 : 君子立恆志,小人恆立志。
返回列表 上一主題