还是根据我自己的方式,先运行主题部分: Private
Sub UserForm_Initialize() For i = 1 To 24 Set newclass(i) = New che类 '创建一个新的che类对象 Set newclass(i).che = Controls("checkbox" & i) '设置新类和checkbox(i)控件创建关键 Set newclass(i).frm = Me '类窗体也和当前窗体建立关联 Next Call 复选框随单元格内容更新 End
Sub
运行到for循环部分,没有跑到类中运行代码.看了下后面的注释,是创建关联.(很多关联,24个) 转到类中看下为啥... Public
WithEvents che As MSForms.CheckBox Public
WithEvents frm As MSForms.UserForm Public
WithEvents che As MSForms.CheckBox Public
WithEvents frm As MSForms.UserForm定义了che和frm两个控件.此后代码为che(checkbox)的change事件. 先猜一下,应该是在checkbox被点中,也就是引发change事件的时候会跳到此事件吧. "复选框随单元格内容更新"这个过程没啥好看的,不研究. 不过这一句引发了事件了,UserForm1.Controls("checkbox" & i) = IIf(arr(m, k) = 0, 0, 1) 喔..看了下worksheet中还有一个change事件,这样的话看起来好麻烦. 还好昨天我蹲厕所的时候已经把这部分理解了一下. 建议不懂的去找一个更简单的例子看吧.
[此贴子已经被作者于2010-4-15 10:29:42编辑过] |