閱: 5299 | 回: 9
發(fā)表于2015/8/26 10:22:03
樓主
等級:學者-
積分:99 -
財富值:250 -
身份:普通用戶
解釋一下代碼, 只需要改 下面這段代碼
Dim btns(1 To 3) As cmdButton '有N個按鈕 ,這么就改成 1 to N
Private Sub Workbook_Open()
Dim i As Integer
Dim btn As cmdButton
For i = 1 To 3 '同樣改成N
Set btns(i) = New cmdButton
Set btns(i).cmdButton = Sheet1.Shapes("CommandButton" & i).OLEFormat.Object.Object
btns(i).rowNum = Sheet1.Shapes("CommandButton" & i).TopLeftCell.Row
'這里需要檢查, 按鈕的名稱是不是 CommandButton1 CommandButton2 這種遞增樣式
Next
End Sub
我只是一個打工仔..
等級:初學者-
積分:1 -
財富值:-1 -
身份:普通用戶
回復:8樓
剛剛我自己已經弄好了,非常感謝你的解答。剛出問題的原因是我的表格出現了bug, 我的工作簿明明只有1個工作表,但我的vb 里是sheet 。 所以我移植你的代碼后,改成sheet 1或者2都沒用,然后我改成sheets (表格名)也無效,一直提示引用項目名稱錯誤。現在我新建一個表格,vb 的sheet 1是表1,現在好了。我vb 沒有系統(tǒng)學過,基本想用到什么功能就百度,我就只會if msgbox 用戶窗體加按鈕加輸入框這些。我只有想法,但很多代碼我都不會,想這個問題,我就覺得i =按鈕幾,這個幾就是我點的這個按鈕名稱,但是我不會,只有想法。再次謝謝你的回答,我現在把你這個代碼一步一步查百度,基本除了dim ,sheet ,msg box ,if 以外的單詞我都不懂。
我的個性簽名