標題:
計數器的問題
[打印本頁]
作者:
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
試試看
Dim The_Time As Date
Sub count_time()
Sheet1.[G14] = IIf(The_Time = 0, 0, Sheet1.[G14] + 1)
If TimeValue(The_Time) > Time Then
Application.OnTime The_Time, "count_time", , False
Sheet1.[G14] = 0
End If
The_Time = Now + TimeValue("00:00:02")
Application.OnTime The_Time, "count_time"
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")的重算事件程序
Private Sub Worksheet_Calculate()
'Sub count_time()程式碼 Sheet1.[G14] = IIf(The_Time = 0, 0, Sheet1.[G14] + 1)
'Sheet1是 Sheets("sheet4")在VBA中的CodeName (物件的代碼名稱)
'程式碼 可改成 [Sheet4!G14] = IIf(The_Time = 0, 0, [Sheet4!G14] + 1)
'[Sheet4!G14]-> [活業簿的(如工作表上)公式,名稱,函數]
Application.EnableEvents = False
With Sheet3
If UCase(.[B1000]) = "K" Then
.[q1000:s993] = .[q1001:s1008].Value
End If
'If [Sheet4!G14] <= 9 Then .[Q992:S1000] = ""
'***************************************
If [G14] <= 9 Then .[Q992:S1000] = ""
'沒有 . [G14]為這工作表模組上的[G14]
'不是 Sheet3的 [G14]
'****************************************
If .[P993] >= 1 Then .[R993:S993] = ""
If .[P994] >= 1 Then .[R994:S994] = ""
If .[P995] >= 1 Then .[R995:S995] = ""
If .[P996] >= 1 Then .[R996:S996] = ""
If .[P997] >= 1 Then .[R997:S997] = ""
If .[P998] >= 1 Then .[R998:S998] = ""
If .[P999] >= 1 Then .[R999:S999] = ""
End With
Application.EnableEvents = True
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
都有啊
Private Sub Worksheet_Calculate()
Application.EnableEvents = False
If UCase([B1000]) = "K" Then
Stop
[q1000:s993] = [q1001:s1008].Value
End If
If [F1000] <= 5 Then
Stop
Debug.Print [F1000]
[q993:S1000] = ""
End If
Application.EnableEvents = True
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/)