vba的控件及用户窗体

上传人:F****n 文档编号:102748709 上传时间:2019-10-04 格式:DOC 页数:157 大小:6.63MB
返回 下载 相关 举报
vba的控件及用户窗体_第1页
第1页 / 共157页
vba的控件及用户窗体_第2页
第2页 / 共157页
vba的控件及用户窗体_第3页
第3页 / 共157页
vba的控件及用户窗体_第4页
第4页 / 共157页
vba的控件及用户窗体_第5页
第5页 / 共157页
点击查看更多>>
资源描述

《vba的控件及用户窗体》由会员分享,可在线阅读,更多相关《vba的控件及用户窗体(157页珍藏版)》请在金锄头文库上搜索。

1、VBA常用技巧代码解析 目录VBA常用技巧1第8章控件与用户窗体4技巧1限制文本框的输入4技巧2文本框添加右键快捷菜单6技巧3文本框回车自动输入10技巧4自动选择文本框内容11技巧5设置文本框数据格式12技巧6限制文本框的输入长度14技巧7将光标返回文本框中15技巧8文本框的自动换行17技巧9多个文本框数据相加19技巧10控件跟随活动单元格20技巧11高亮显示按钮21技巧12组合框和列表框添加列表项的方法2312-1使用RowSource属性添加列表项2312-2使用List属性添加列表项2412-3使用AddItem方法添加列表项25技巧13去除列表框数据源的重复值和空格27技巧14移动列表

2、框条目29技巧15允许多项选择的列表框32技巧16多列组合框和列表框的设置3516-1多列组合框和列表框添加列表项3516-2多列列表框写入工作表37技巧17输入时逐步提示信息39技巧18二级组合框46技巧19使用DTP控件输入日期48技巧20使用RefEdit控件选择区域51技巧21如何注册控件52技巧22遍历控件的方法5522-1使用名称中的变量遍历控件5522-2使用对象类型遍历控件5722-3使用程序标识符遍历控件5822-4使用名称中的变量遍历图形5922-5使用FormControlType属性遍历图形60技巧23使微调框最小变动量小于161技巧24不打印工作表中的控件6324-1

3、设置控件格式6324-2设置控件的printobjcet属性65技巧25在框架中使用滚动条65技巧26使用多页控件67技巧27标签文字垂直居中对齐69技巧28使用TabStrip控件71技巧29显示GIF动画图片73技巧30播放Flash文件76技巧31在工作表中添加窗体控件7831-1使用AddFormControl方法7931-2使用Add方法81技巧32在工作表中添加ActiveX控件8332-1使用Add方法8432-2使用AddOLEObject方法86技巧33使用spreadsheet控件87技巧34使用Listview控件9034-1使用Listview控件显示数据列表9034-

4、2在Listview控件中使用复选框9334-3调整Listview控件的行距9534-4在Listview控件中排序9834-5Listview控件的图标设置99技巧35调用非模式窗体102技巧36进度条的制作10436-1使用进度条控件10436-2使用标签控件106技巧37使用TreeView控件显示层次109技巧38用户窗体添加图标113技巧39用户窗体添加最大最小化按纽115技巧40禁用窗体标题栏的关闭按钮116技巧41屏蔽窗体标题栏的关闭按钮117技巧42无标题栏和边框的窗体119技巧43制作年月选择窗体120技巧44自定义窗体中的鼠标指针类型123技巧45调整窗体的显示位置124

5、技巧46由鼠标确定窗体显示位置126技巧47用户窗体的打印127技巧48使用自定义颜色设置窗体颜色129技巧49在窗体中显示图表13049-1使用Export方法13049-2使用API函数132技巧50窗体运行时调整控件大小133技巧51在用户窗体上添加菜单136技巧52在用户窗体上添加工具栏140技巧53使用代码添加窗体及控件145技巧54用户窗体的全屏显示15154-1设置用户窗体为应用程序的大小15154-2根据屏幕分辨率进行设置152技巧55在用户窗体上添加状态栏153第8章 控件与用户窗体技巧1 限制文本框的输入用户在使用文本框输入数据时,往往希望能限制输入数据的类型,比如只能输入

6、数字。但是没有内置的属性能限制在文本框中只能输入数字,只能在文本框的事件过程中使用代码来测试输入的是哪类字符,然后只允许输入数字字符和一个“-”号、一个“.”号,如下面的代码所示。#001 Private Sub TextBox1_KeyPress(ByVal KeyANSI As MSForms.ReturnInteger)#002 Select Case KeyANSI#003 Case Asc(0) To Asc(9)#004 Case Asc(-)#005 If InStr(1, Me.TextBox1.Text, -) 0 Or _#006 Me.TextBox1.SelStart

7、0 Then#007 KeyANSI = 0#008 End If#009 Case Asc(.)#010 If InStr(1, Me.TextBox1.Text, .) 0 Then#011 KeyANSI = 0#012 End If#013 Case Else#014 KeyANSI = 0#015 End Select#016 End Sub代码解析:文本框的KeyPress事件过程,测试键盘输入的是哪类字符,只允许输入数字字符和一个“-”号、一个“.”号。KeyPress事件的语法如下:Private Sub object_KeyPress( ByVal KeyANSI As MS

8、Forms.ReturnInteger)参数Object是必需的,一个有效的对象。参数KeyANSI是可选的,整数值,代表标准的数字ANSI 键代码。第2行代码使用Case Else语句测试文本框KeyPress事件的KeyANSI参数值。第3行代码,如果键盘输入的是0到9之间的数字字符,则允许输入。如果想在文本框中允许其它类型的字符输入,在此句代码中列出允许输入的字符即可。第4行到第8行代码,如果键盘输入的是“-”号,先使用InStr函数测试文本框中是否已有“-”号,如果InStr函数返回值大于0,说明文本框中已有“-”号。接下来使用文本框的SelStart 属性来测试插入点,如果文本框的S

9、elStart 属性值大于0,说明“-”号的插入点不是第一个。如果以上两个条件中有任何一个成立,将KeyAscii参数值设置为0,使文本框只能在第一位输入一个“-”号。第9行到第12行代码,如果键盘输入的是“.”号的话,使用InStr函数测试文本框中是否已有“.”号,如果已有“.”号,将KeyAscii参数值设置为0,使文本框只能输入一个“.”号。第13、14行代码,如果键盘输入的是其他字符则将KeyAscii参数值设置为0,使文本框不能输入其他字符。经过以上设置文本框只允许输入数字字符和一个“-”号、一个“.”号,但是能输入中文字符。如果希望限制中文字符的输入,可以在文本框的Change事件

10、中进行设置,如下面的代码所示。#001 Private Sub TextBox1_Change()#002 Dim i As Integer#003 Dim s As String#004 With TextBox1#005 For i = 1 To Len(.Text)#006 s = Mid(.Text, i, 1)#007 Select Case s#008 Case ., -, 0 To 9#009 Case Else#010 .Text = Replace(.Text, s, )#011 End Select#012 Next#013 End With#014 End Sub代码解析

11、:文本框的Change事件,判断输入的字符是否为数字字符和“-”号、“.”号,如果不是则使用Replace函数将文本框中输入的其他字符替换成空白。第5、6行代码在文本框输入的所有字符中循环。第8行代码列出允许输入的字符。如果想在文本框中允许其它字符输入,在此句代码中列出即可。第9、10行代码,如果不是允许输入的字符,使用Replace函数替换成空白。经过以上的设置,文本框中只能在第一位输入一个“-”号、一个“.”号和“0”到“9”的数字。技巧2 文本框添加右键快捷菜单VBA中的控件没有提供右键快捷菜单,用户可以使用Excel 中的命令栏自已添加右键快捷菜单。步骤1:按组合键进入VBE窗口,单击

12、菜单“插入”“模块”,在其代码窗口输入以下代码:#001 Private ActiveTB As MSForms.TextBox#002 Public Sub CreateShortCutMenu()#003 Dim ShortCutMenu As CommandBar#004 Dim ShortCutMenuItem As CommandBarButton#005 Dim sCaption As Variant#006 Dim iFaceId As Variant#007 Dim sAction As Variant#008 Dim i As Integer#009 sCaption = A

13、rray(剪切(&C), 复制(&T), 贴粘(&P), 删除(&D)#010 iFaceId = Array(21, 19, 22, 1786)#011 sAction = Array(Action_Cut, Action_Copy, Action_Paste, Action_Delete)#012 On Error Resume Next#013 Application.CommandBars(ShortCut).Delete#014 Set ShortCutMenu = Application.CommandBars.Add(ShortCut, msoBarPopup)#015 With ShortCutMenu#016 For i = 0 To 3#017 Set ShortCutMenuItem = .Controls.Add(msoControlButton)#018 With ShortCutMenuItem#019

展开阅读全文
相关资源
相关搜索

当前位置:首页 > 办公文档 > 教学/培训

电脑版 |金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号