动态添加控件

     以前一直做B/S方面的东东,而且是一直使用C#,这次接了一个小程序,是短信分解的宏处理程序,才开始还是觉得满好玩的,可是随着要求的增加感觉到了一点疲累,主要是此方面的相关资料很少,语法也不了解,走了很多的冤枉路, 所以想记录下来我所遇到的问题,以后不会再为出现同样的问题而烦恼了

1、动态添加控件

Private Sub UserForm_Click()
Dim oControl1As MSForms.CheckBox
Set oControl1= Me.Controls.Add("Forms.CheckBox.1", "CheckBox1", True)
oControl1.Caption = "kkkkkkkkk"
oControl1.Width = 12
oControl1.Height = 12
oControl1.Left = 30
oControl1.Top = 50
End Sub

当然也可以是其它控件,其它控件之ProgID 值如下:

复选框 Forms.CheckBox.1
组合框 Forms.ComboBox.1
命令按钮 Forms.CommandButton.1
框架 Forms.Frame.1
图像 Forms.Image.1
标签 Forms.Label.1
列表框 Forms.ListBox.1
多页 Forms.MultiPage.1
选项按钮 Forms.OptionButton.1
滚动条 Forms.ScrollBar.1
数值调节钮 Forms.SpinButton.1
TabStrip Forms.TabStrip.1
文本框 Forms.TextBox.1
切换按钮 Forms.ToggleButton.1
注:因为这个ProgID值老是搞不对,浪费了很多的时间,幸亏找到了这个东东

2、隔行选中行时,Target.Rows.Count的值不是你选中了多少行,而是连续行的值,后来我写了一个数组搞定

3、计算工作表中带值单元格的数目:WorksheetFunction.CountA(Sheet2.UsedRange)

      计算工作表中含值的行的数目:WorksheetFunction.Count(Sheet2.UsedRange) 这里的行的数目比本来行少一行,我想可能是要从零计算的原因吧,我没有深入研究。

4、UBound(arr),LBound(arr),数组的下标,上标

5、双击单元格事件中加上一句 Cancel = True,则此工作表的双击事件就会失效

6、一些常用的函数:len(str)求字符串的长度,

split(str,",")是分割字符串,这个东东基本上都相同,

Mid(str,start,length) 截取字符串

用case时,前面不是switch了,改成Select ,不过有一点搞不懂,不知道为何不能和C# 一样的写法,

比如说我用

case "1":

case "2":

调用方法

那么两个条件下都调用同样的方法,但是在VBA中试了好象不可以。

Asc(str)求AssCii 值

里面还有N多很常用的函数,但是我只用到了这几个,就列举下来,以后我再慢慢整理好了。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值