Board logo

標題: 計數器的問題 [打印本頁]

作者: lucky12345    時間: 2014-10-26 13:49     標題: 計數器的問題

Sub count_time()
Sheet1.[G14] = Sheet1.[G14] + 1
Application.OnTime Now + TimeValue("00:00:02"), "count_time"
End Sub
以上程式   是一個計數器  當我按下"按鈕 1"
G14就開始計數  一切OK
如今我有個 新的需求   就是當我按下"按鈕 1" 時 G14能夠自動
歸零   然後重 1 開始計數  請各位大大 指點  謝謝
作者: bobomi    時間: 2014-10-26 19:26

Private Sub CommandButton1_Click()

Sheet1.[G14] = = 0
end  sub
作者: lucky12345    時間: 2014-10-27 04:33

本帖最後由 lucky12345 於 2014-10-27 04:42 編輯

謝 謝大大  .  拍謝 還是不會ㄋ   傳上檔案  請幫忙撿視  謝謝
還有檔兩檔案  其實是同一個
作者: lucky12345    時間: 2014-10-27 06:23

本帖最後由 lucky12345 於 2014-10-27 06:25 編輯

一時疏忽  很抱歉!  程式碼在  sheet4
作者: GBKEE    時間: 2014-10-27 07:05

回復 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
複製代碼

作者: lucky12345    時間: 2014-10-27 21:37

本帖最後由 lucky12345 於 2014-10-27 21:44 編輯

我的發財夢        我又失敗了.............................一再麻煩大家非常感謝
作者: lucky12345    時間: 2014-10-27 21:48

至於製程式碼  是我東抓西抓撮成的    XD
作者: GBKEE    時間: 2014-10-28 06:22

回復 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
複製代碼

作者: lucky12345    時間: 2014-10-28 07:49

回復 8# GBKEE
感謝版大詳細的說明
作者: lucky12345    時間: 2014-10-29 17:49

回復 8# GBKEE
真差勁  還是沒弄懂  煩請G大幫我撿視一下  多謝了
作者: GBKEE    時間: 2014-10-29 19:40

回復 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
複製代碼

作者: lucky12345    時間: 2014-10-29 21:51

本帖最後由 lucky12345 於 2014-10-29 21:56 編輯

回復 11# GBKEE
非常感謝 版大如此快的回應
可以?.........心一想 莫非 我PC的問題
哈.........在筆電竟然OK正常  (另一台也OK)
其實之前我 PC 也有正常使用過.......... 後來被我亂改   (不知哪個地方跑掉  或是不當的設定)
現在我PC  只能用手動 ->到檢視程式碼 ->按執行  才會做動一次   無法自動觸發(怎麼試都不行)
不知有解否?  還是要重灌Excel
請知道的大大  不吝指導   非常感謝大家
晚安
作者: GBKEE    時間: 2014-10-30 04:54

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

回復 12# lucky12345
無法自動觸發(怎麼試都不行)??
是有執行到 Stop時後,所以只能用手動 ->到檢視程式碼 ->按執行  才會做動一次
你可以刪掉 Stop 了
Stop 是讓你觀察程式有執行到 If UCase([B1000]) = "K" Then
作者: lucky12345    時間: 2014-10-30 05:13

回復 13# GBKEE
G大早安!......
果真如此.............謝謝您




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