Board logo

標題: [發問] 簡化CommandButton [打印本頁]

作者: c1203364    時間: 2015-2-6 10:49     標題: 簡化CommandButton

Private Sub CommandButton1_Click()
CommandButton1.Enabled = False
Range("N3") = Date
End Sub
Private Sub CommandButton2_Click()
CommandButton2.Enabled = False
Range("N4") = Date
End Sub
一直到
Private Sub CommandButton98_Click()
CommandButton98.Enabled = False
Range("N100") = Date
End Sub
請問有辦法簡化嗎?謝謝大大們
作者: owen06    時間: 2015-2-6 13:12

回復 1# c1203364


    請問你設這麼多的按鈕,目的為何?能否描述一下你想要達成的功能?
作者: c1203364    時間: 2015-2-6 13:49

當同事填寫資料完成,就按紐記錄日期,用來計算處理時間
作者: owen06    時間: 2015-2-17 00:01

回復 4# c1203364


    想請問的是,請問你這近100個按鈕,你想要簡化成什麼樣的方式?
    是要按下一個按鈕,就能哪些儲存格產生什麼結果,還是其他怎麼樣的構想,
    是否能敘述一下?
作者: c1203364    時間: 2015-2-17 09:22

Private Sub CommandButton_Click()
On Error Resume Next
Dim i As Integer
For i = 3 To 100
If CommandButton & i = False Then
Cells(i, 10) = Date
End If
Next
End Sub
自己亂寫的,想讓大家了解,大概就是這樣的模式,謝謝
作者: linyancheng    時間: 2015-2-18 00:27

本帖最後由 linyancheng 於 2015-2-18 00:36 編輯

大概知道你的意思,但不很清楚,所以可能用這兩個方法之一:
一、只用一個按鈕,再加另一個條件來執行。
二、使用物件類別模組,只要設定一次事件(Sub CommandButton_Click),不是用循環。

這就是用物件類別模組寫的,所有的按鈕只寫了一次事件,而且按鈕是「執行階段」才創建的:
http://forum.twbts.com/thread-13114-1-1.html
你可以參考一下,研究一下物件類別模組。




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