关于作者

姓名:阿木

性别:男

出生日期:1982-01-16

地区:上海

联系电话:

QQ:--

婚否:未婚
用户名:amulee
笔名:阿木
地区: 上海
行业:其他

日历  

快速登录

+ 用户名:
+ 密 码:

在线留言



最新评论

访问统计:
文章个数:21
评论个数:33
留言条数:5




Powered by BlogDriver 2.1

阿木的Excel

 


请使用IE查看本页获得最佳效果

文章

利用类模块对工作表中的ActiveX控件批量设定的注意事项
利用类模块可以减少许多重复的代码。
以给控件设定批量的Click事件为例,在工作簿中定义了以下名为clsChe的类模块:
Public WithEvents Chkbox As MSForms.CheckBox
Private Sub Chkbox_Change()
    MsgBox Chkbox.Value
End Sub


利用该类模块,可以轻松实现对复选框进行批量设置Change事件。

在窗体中,只需要绑定窗体中的复选框即可,代码如下:

Dim Chk(1 To 4) As clsChe
Private Sub UserForm_Activate()
    For i = 1 To 4
        Set Chk(i) = New clsChe
        Set Chk(i).Chkbox = Me.Controls("CheckBox" & i)
    Next i
End Sub


但是在工作表中似乎不太容易实现,很多人试过Shapes集合,试过CheckBoxes集合,甚至改变类模块中的定义为

Public WithEvents Chkbox As CheckBox


但会发现,这个CheckBox类型并不支持事件。

因而会给人造成工作表中的复选框控件不是MSForms.CheckBox的错觉,其实不然。
在工作表中插入的复选框和窗体中的其实是一样的。
但是在工作表中插入的复选框增加了一层Shape外衣,使用户无法直接访问到内层的MSForms.CheckBox控件。
必须脱去层层外衣才能访问到其核心控件,其实这个真正的复选框控件在这里

Set Chk(i).Chkbox = Shapes(i).OLEFormat.Object.Object


我们还可以利用CALLBYNAME函数来直接访问

Set Chk(i).Chkbox = CallByName(Sheet1, "CheckBox" & i, VbGet)


其余代码同窗体中是一致的。

请查看附件:http://www.exceltip.net/thread-21327-1-1-11314.html

- 作者: 阿木 2011年05月19日, 星期四 13:27  回复(0) |  引用(0) 加入博采

如何计算大数阶乘的精确值?
摘要:在Excel VBA中,虽然可以计算大数的阶乘,但是其精度仅10多位。对于大数的阶乘精确值却无能为力。这篇文章就教你如何用VBA来计算大数的阶乘精确值。 查看全文

- 作者: 阿木 2010年05月11日, 星期二 12:37  回复(0) |  引用(0) 加入博采

如何设定程序运行的次数?
摘要:辛苦编写的VBA程序不想让他人任意利用,可以限定其使用次数或者有效期。 相同的思路可以设定程序的版权,甚至于开发软件注册功能。 查看全文

- 作者: 阿木 2010年05月11日, 星期二 12:31  回复(0) |  引用(0) 加入博采

如何用VBA选取第N个到最后一个工作表?
摘要:用VBA同时选取多个工作表 查看全文

- 作者: 阿木 2010年05月11日, 星期二 11:21  回复(0) |  引用(0) 加入博采

用代码添加模块、类模块和窗体
摘要:利用代码可以添加模块、类模块和窗体 查看全文

- 作者: 阿木 2010年05月11日, 星期二 11:12  回复(0) |  引用(0) 加入博采

如何获取数组的维数
摘要:本文介绍如何利用VBA的出错来获取数组的维数 查看全文

- 作者: 阿木 2010年03月30日, 星期二 11:23  回复(0) |  引用(0) 加入博采

将VBA的自定义函数变成易失性函数
摘要:将VBA的自定义函数设定为易失性函数,可以让这个函数实时运算。本文将介绍如何将VBA自定义函数设定为易失性函数。 查看全文

- 作者: 阿木 2010年03月5日, 星期五 13:52  回复(0) |  引用(0) 加入博采

利用API对VBA窗体设置
摘要:想知道如何在VBA的窗体中取消关闭按钮,或者增加最大化、最小化按钮吗?看一下这篇文章,或许对你有帮助。 查看全文

- 作者: 阿木 2010年03月5日, 星期五 13:44  回复(0) |  引用(0) 加入博采

利用正则表达式提取汉字
摘要:利用正则表达式,可以编写自定义函数来提取汉字。 查看全文

- 作者: 阿木 2010年03月2日, 星期二 14:10  回复(0) |  引用(0) 加入博采

Excel空间建立
摘要:自此以后,本博客就专用于研究VBA。 查看全文

- 作者: 阿木 2010年03月1日, 星期一 13:53  回复(0) |  引用(0) 加入博采