阅: 3692 | 回: 9
发表于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 没有系统学过,基本想用到什么功能就百度,我就只会if msgbox 用户窗体加按钮加输入框这些。我只有想法,但很多代码我都不会,想这个问题,我就觉得i =按钮几,这个几就是我点的这个按钮名称,但是我不会,只有想法。再次谢谢你的回答,我现在把你这个代码一步一步查百度,基本除了dim ,sheet ,msg box ,if 以外的单词我都不懂。
我的个性签名