挑战:MS Excel VBA编程的绝对初学者
我正在学习VBA使用VBA傻瓜和上面提到的书的组合。 后者提出了一个简单的挑战(挑战2,第2章),我想问一些反馈意见。
挑战如下:
在工作表上放置一个Command Button控件,并在Click()事件过程中编写一个程序,每次点击一下鼠标,variables就会增加一个variables5。 在消息框中输出这个variables的值。
我已经把下面的代码片段放在一起作为回应:
Sub CommandButton1_Click() Dim AddClick As Integer AddClick = Range("A1").Value AddClick = AddClick + 5 Range("A1").Value = AddClick MsgBox AddClick End Sub
虽然代码有效,但我敢肯定,有一种方法可以避免使用'Range'(“A1”)。Value'来创build'AddClick'variables。 我怎么去做这个?
*更新:感谢科迪格雷的build议(http://articles.techrepublic.com.com/5100-10878_11-5854605.html),我已经修改了以下代码 – 现在工作得很好(编辑为进一步简化):*
Sub CommandButton1_Click() Static AddClick As Integer AddClick = AddClick + 5 MsgBox AddClick End Sub
Simples。 再次感谢科迪。
我认为以前的两个样本都是错的。 正确的版本如下:
Sub CommandButton1_Click() Static AddClick As Integer AddClick = AddClick + 5 MsgBox AddClick End Sub
在模块级定义variables。
这样做会增加从过程到模块的variables范围。
用这个replace现有的代码。
Option Explicit Dim AddClick As Integer Sub CommandButton1_Click() AddClick = 0 AddClick = AddClick + 5 MsgBox (AddClick) End Sub
注意:在过程级别定义variables会限制其寿命。
即该variables不能在程序范围之外访问。