忍龙黑之章攻略2 打完13章死机是怎么回事

君,已阅读到文档的结尾了呢~~
VBA窗体及其控件
扫扫二维码,随身浏览文档
手机或平板扫扫即可继续访问
(ppt)VBA窗体及其控件
举报该文档为侵权文档。
举报该文档含有违规或不良信息。
反馈该文档无法正常浏览。
举报该文档为重复文档。
推荐理由:
将文档分享至:
分享完整地址
文档地址:
粘贴到BBS或博客
flash地址:
支持嵌入FLASH地址的网站使用
html代码:
&embed src='/DocinViewer--144.swf' width='100%' height='600' type=application/x-shockwave-flash ALLOWFULLSCREEN='true' ALLOWSCRIPTACCESS='always'&&/embed&
450px*300px480px*400px650px*490px
支持嵌入HTML代码的网站使用
您的内容已经提交成功
您所提交的内容需要审核后才能发布,请您等待!
3秒自动关闭窗口Access中国
热 &线:400-855-3990
邮 &编:528463
当前位置: &
Access免费公开课视频
Access VBA 动态创建窗体-免费Access培训公开课[9]
活动类型: &免费公开课-Access培训
开始时间: &&&20:00&至&
& & & & & & & & &&&21:30
活动地点: &Access中国培训教学网上教室
& & & & & & & & &(YY课堂)
性别:&不限
已报名人数:&30 人
报名截止: &&19:30
&主题:Access VBA动态创建窗体 示例演示
& 主讲:萧云
& 讲课内容简介:
& &萧云老师带你走进Access窗体的设计方法。 通过简单是例子,触发你的灵感,教你如何创建窗体,然后升华到动态窗体。适合中等水平的朋友学习
&&Access VBA动态创建窗体 示例演示&--&Access公开课视频在线播放
示例窗体界面:
单击【创建窗体并添加代码】按钮后在数据库中创建如下窗体:
双击新创建的该窗体查看运行结果:
打开创建后的测试窗体 &界面效果:
击单窗体中心的按钮,查看按钮事件运行效果:
对要添加的执行代码稍加修改:
修改 VBA 语句内容的窗体执行结果:
核查所创建窗体的事件代码:
如何设计实现?
&通过对示例的体验让大家对动态创建窗体有一个感性认识。那么动态创建窗体是如何设计实现的呢?
设计及实施:
1.Private Sub Form_Load()
2.Private Sub Command3_Click()
& Command3就是【创建窗体并加入代码】按钮
3. Private Sub AllForms()
& &AllForms是一个自定义子过程
4. Function CreateEventProcOnForm(ByVal FormName As String, ByVal LoadCordStr As String) As Boolean
& CreateEventProcOnForm是一个自定义函数
5. Dim dbs As Object
& &dbs 是在窗体模块作用域声明的一个Object对象变量
&VBA 代码概述
在窗体模块开始处声明 dbs 变量,设计目的是采用此变量引用当前工程对象。
& Dim dbs As Object
&& &该变量的作用域是窗体模块内,非局部变量,它的生命周期与窗体相同。
&& &注意& Object 数据类型&万能对象类型&,适合运行时的后期绑定对象变量
&VBA代码概述----子过程 AllForms
编写自定义一个子过程(也可以称窗体的自定义方法)名称为 AllForms,设计目的是通过这个子过程刷新窗体中的列表框数据。
Private Sub AllForms()
&& 插入对列表框的操作代码
&VBA代码概述----子过程 AllForms
Private Sub AllForms()
&&& '设置列表框的行来源数据的类型为值类型
&&& Me.List0.RowSourceType = &Value List&
&&& Me.List0.RowSource = &&&&&&&&&&&&&&&&&&& '清空列表中的所有行
&&& Dim obj1 As AccessObject&&&&&&&&&&&&&&& '声明obj1为Access对象类型变量
&&& '将当前工程对象赋给dbs对象变量,实现对当前工程的引用
&&& Set dbs = Application.CurrentProject
&&& &* 通过循环语句得到 Access数据库中所有的窗体
&&& &* 对当前工程所在数据库中的所有未打开的窗体进行循环枚举
&&& For Each obj1 In dbs.AllForms
&&&&&&& List0.AddItem obj1.Name&&&&&&&&&&&&& '得到的窗体名称添加到 List0列表框中。
&&& List0.Requery&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&& '对列表框进行数据刷新操作
&VBA代码概述----事件过程 Form_Load
在Form_Load过程中对控件状态进行初初始化。设计目的:在窗体加载事件过程里清空列表框内容,并在文本框【Text6】中默认显示一段预设的VBA代码语句
Private Sub Form_Load()
&对窗体中的列表框及文本框进行初始设置
&VBA代码概述----事件过程 Form_Load
Private Sub Form_Load()
&&& Call AllForms& &清空列表框中的所有内容
& &* 在文本框中填入默认的文本内容。(是一段VB语句)
&&& Me.Text6 = vbTab & &Dim i,m& & vbCrLf
&&& Me.Text6 = Me.Text6 & vbTab & &for i = 1 to 10& & vbCrLf
&&& Me.Text6 = Me.Text6 & vbTab & &m=m+i& & vbCrLf
&&& Me.Text6 = Me.Text6 & vbTab & &next& & vbCrLf
&&& Me.Text6 = Me.Text6 & vbTab & &msgbox m& & vbCrLf
&VBA代码概述----事件过程 Command3_Click
在Command3_Click按钮单击事件过程中实现创建新窗体。
Private Sub Command3_Click()
&&& &* 调用CreateEventProcOnForm函数创建一个新窗体,
&&& &*& 新窗体的名称是【创建后的测试窗体】
&&& &* 并在【创建后的测试窗体】的加载事件代码中插入Text6文本框的文本内容
&&&& Call CreateEventProcOnForm(&创建后的测试窗体&, Me.Text6)
&&&& Call AllForms& &由于增加了新窗体,所以刷新列表框数据。
&VBA代码概述----自定义函数 CreateEventProcOnForm
通过自定义函数CreateEventProcOnForm创建指定名称及指定加载事件过程执行操作的Access窗体
Function CreateEventProcOnForm(ByVal FormName As String, ByVal LoadCordStr As String) As Boolean
&&& && 插入创建窗体的代码
&&& &应用到 Application. CreateForm方法
&&& &应用到 Application. CreateControl方法
&&& &应用到 Module.CreateEventProc方法
&&& &应用到 Module.InsertLines方法
&&& &应用到 VBE 对象
End Function
成功创建一个窗体后返回一个布尔值True,否则返回False代表创建失败
&VBA代码概述----自定义函CreateEventProcOnForm
Function CreateEventProcOnForm(ByVal FormName As String,& _
& ByVal LoadCordStr As String) As Boolean
&&& Dim frm As Form, ctl As Control, mdl As Module
&&& Dim lngReturn As Long
&&& Dim lngReturn1 As Long
&&& Dim strDM As String
&&& &* 将参数变量LoadCordStr的值赋给字符串变量strDM
&&& strDM = LoadCordStr&
&&& &* 根据模板窗体创建一个新的窗体
&&& Set frm = CreateForm(, &模板窗体A&)
&&& '注意:当得到窗体对象时第一时间要对 窗体事件属性 进行设置。
&&& frm.OnLoad = &[Event Procedure]&
&&& &* 在新建的窗体上 创建一个 命令按钮
&&& Set ctl = CreateControl(frm.Name, acCommandButton, , , , ,& _
&&& &* 给这个命令按钮的标题起个名字
&&& ctl.Caption = &单击这儿 (Click here)&
&&& &* 返回创建的窗体的 module 对象的引用
&&& Set mdl = frm.Module
&&& &* 新创建的按键添加 【单击事件】 子过程
&&& &* 并返回这个事件过程的第一行位置
&&& lngReturn = mdl.CreateEventProc(&Click&, ctl.Name)
&&& '注意:当得到窗体对象时第一时间要对 窗体事件属性 进行设置。
&&& frm.OnLoad = &[Event Procedure]&
&&& &* 在新建的窗体上 创建一个 命令按钮
&&& Set ctl = CreateControl(frm.Name, acCommandButton, , , , ,& _
&&& &* 给这个命令按钮的标题起个名字
&&& ctl.Caption = &单击这儿 (Click here)&
&&& &* 返回创建的窗体的 module 对象的引用
&&& Set mdl = frm.Module
&&& &* 新创建的按键添加 【单击事件】 子过程
&&& &* 并返回这个事件过程的第一行位置
&&& lngReturn = mdl.CreateEventProc(&Click&, ctl.Name)
&&& ' * 向返回事件过程的第一行位置的下一行 添加 新的VB代码内容
&&& mdl.InsertLines lngReturn + 1, vbTab & _
& &&MsgBox && 测试按钮单击事件成功!&&&
&&& &* 继续在窗体中创建一个窗体的【加载事件】,
&&& &* 并返回这个事件过程的第一行位置
&&& lngReturn1 = mdl.CreateEventProc(&load&, &Form&)
&&& &*& 向返回事件过程的第一行位置的下一行 添加 新的VB代码内容
&&& mdl.InsertLines lngReturn1 + 1, strDM
&&&&&&&&&&
&&& VBE.MainWindow.Visible = False& & '将VBE窗体隐藏
&&& DoCmd.Save& & '保存所创建的窗体&
& &* 提示Access中文版创建任何一个新窗体都默认同样一个名字【窗体1】,
& &* 如果【窗体1】已经存在则序号递增
&&&& DoCmd.Close acForm, &窗体1&& '关闭新创建的窗体
&&& DoCmd.Rename FormName, acForm, &窗体1&& '对【窗体1】重新命名
&&& CreateEventProc = True& '函数返回值标识是否创建成功
&& &* 注意:本示例的函数返回值这行语句设计不准确,
&& &* 真正应用时请修改。
End Function
示例中的其他演示:
本讲的Access数据库示例中还包含了对已经存在的窗体动态添加VB代码的示范。
主要应用到:
&& Module.Find 方法
& Module.InsertLines方法
& List_DblClick 事件过程
& DoCmd.OpenForm 打开设计视图窗体操作
发布人:zstmtony&&分享到:点击次数:&&更新时间: 12:00:43&&【】&&【】
上一条:&&下一条:君,已阅读到文档的结尾了呢~~
vba窗体及其控件,vba窗体教程,vba关闭窗体,vba窗体事件,excel vba 窗体,vba日历控件,vba日期控件,vba时间控件,vba timer控件,vba进度条控件
扫扫二维码,随身浏览文档
手机或平板扫扫即可继续访问
vba窗体及其控件
举报该文档为侵权文档。
举报该文档含有违规或不良信息。
反馈该文档无法正常浏览。
举报该文档为重复文档。
推荐理由:
将文档分享至:
分享完整地址
文档地址:
粘贴到BBS或博客
flash地址:
支持嵌入FLASH地址的网站使用
html代码:
&embed src='/DocinViewer--144.swf' width='100%' height='600' type=application/x-shockwave-flash ALLOWFULLSCREEN='true' ALLOWSCRIPTACCESS='always'&&/embed&
450px*300px480px*400px650px*490px
支持嵌入HTML代码的网站使用
您的内容已经提交成功
您所提交的内容需要审核后才能发布,请您等待!
3秒自动关闭窗口Access俱乐部
?&&&&?&&&&?&&&&?&&&&
您的位置:  > >
【译文】当在VBA代码中引用子窗体时使用窗体属性
来源:&&点击数:7168&&评论数:4 &|&&|&
时 间: 10:14:07
作 者:&&&ID:24526&&城市:上海
摘 要:窗体变量使得我的代码更快捷且容易阅读,同时也提供了一个当焦点不在其他窗体上时控制其他窗体的好方法。另外一个优点是窗体读取记录值比从表中获得记录集的速度要快。如果你知道你要寻找的数据已在窗体加载,用窗体变量的方式读取数据它能使你的应用程序速度更快。
原作者:Chris Downs 翻译:周芳
【译文】窗体变量能使你的代码顺利
&&&&&&& 我喜欢使用窗体变量,这使得我的代码更快捷且容易阅读,同时也提供了一个当焦点不在其他窗体上时控制其他窗体的好方法。另外一个优点是窗体读取记录值比从表中获得记录集的速度要快。如果你知道你要寻找的数据已在窗体加载,用窗体变量的方式读取数据它能使你的应用程序速度更快。
&&&&&&& 例如,假定我在frmOrders窗体中写了代码,需要去读取一个打开状态的frmCustomers窗体上的控件(你可以传递一个窗体变量到一个打开的窗体)。我使用下面的代码作为变量示例:
&&&&&&& Dim frm as Form_frmCustomers &声明frm为Form_frmCustomers
&&&&&&& Dim lngCustomerID as Long&&&& &声明lngCustomerID为数字型(长整型)
&&&&&&& &如果frmCustomers窗体处于打开(加载)状态
&&&&&&& If CurrentProject.AllForms(&frmCustomers&).IsLoaded then
&&&&&&&&&&&&&&& Set frm = Forms!frmCustomers
&&&&&&&&&&&&&&& '在外部窗体用窗体变量读取字段
&&&&&&&&&&&&&&& lngCustomerID = frm.CustomerID
&&&&&&& Else
&&&&&&&&&&&&&&& '用其他代码找到customerID
&&&&&&& End If
&&&&&&& 有一个优势,声明frm为Form_frmCustomers来代替Form类可以弹出智能提示来帮助您引用窗体上的控件。你可以在任何处于打开状态的窗体上进行这个操作,只需确保您使用声明此类型的变量时,在命名窗体时前面是以&Form_&开头。
子窗体同样奏效,但是需要使用窗体属性
&&&&&&& 子窗体作为主窗体的一部分被加载时就会失去自己的窗体特性。当引用一个子窗体时,你需要用主窗体的性能来关联子窗体的窗体变量。让我们假设frmOrders为主窗体,让frmOrderItems_sub以子窗体插入 frmOrders。 如果你需要引用子窗体,你可以在下面的内容中这样写:
&&&&&&& Dim frm as Form_frmOrderItems_sub
&&&&&&& Set frm = Forms!frmCustomers.frmOrderItems_sub.Form
&&&&&&& 注意参考窗体属性在结束部分的第二次声明,为了使子窗体和窗体变量关联,这是必要的&
&&&&&& &注1:你只能在窗体模块(或模块)中使用窗体变量,否则,编译器就会报错。
&&&&&&& 注2:确保引用正确的子窗体名字否则代码将不能运行。例如,如果子窗体控件的源对象名为&frmOrderItems_sub&,但子窗体控件名称为&OrderItems&在主窗体上,那么你的代码像这样:
&&&&&&& Dim frm as Form_frmOrderItems_sub &声明frm为Form_frmCustomers
&&&&&&& Set frm = Forms!frmCustomers.OrderItems.Form
&&&&&&& &注意别写成了Set frm = Forms!frmCustomers.frmOrderItems_sub.Form&&
&&&&&&& 当你需要从一个窗体引用另一个窗体时我鼓励你们使用窗体变量在代码中。这是ACCESS中一个绝佳的工具,可以在你的应用程序使访问共享信息更容易,甚至能加快它的运行速度。
Use the Form property when referencing subforms in your code
Form variables can make your code sizzle
I love using form variables. They make my code faster and easier to read, and they also provide a great way to remote control another form without being on that form or having it be the focus. Another advantage is that reading record values off a form is far quicker than using a recordset using a table off the disk. If you know the data you&re looking for is already loaded on a form, reading it by using a form variable can speed up your application.
For example, let&s assume I&m coding in a form called frmOrders and I need to read controls on an open form called frmCustomers (you can only associate a form variable to an open form). I would use the following code to instantiate my variables:
Dim frm as Form_frmCustomers
Dim lngCustomerID as Long&&&
If CurrentProject.AllForms(&frmCustomers&).IsLoaded then
Set frm = Forms!frmCustomers
'Use the frm variable to read fields off the form
lngCustomerID = frm.CustomerID
'Use another technique to find CustomerID
One of the advantages of declaring frm as Form_frmCustomers instead of as the generic Form type is that IntelliSense will pop up to help you refer to controls on the form. You can do this with any form that' just make sure you use &Form_& followed by the form name when declaring variables of this type.
Subforms work too, but you need to use the Form Property
Subforms are considered part of the main form and lose their own identity once they are loaded. In order to reference a subform, you need to use the Form property to associate the form variable with the subform. Let's assume frmOrders is the parent form and frmOrderItems_sub is the name of the subform inserted into frmOrders. If you need to reference the subform, you could do so in the following matter:
Dim frm as Form_frmOrderItems_sub
Set frm = Forms!frmCustomers.frmOrderItems_sub.Form
Notice the reference to the .Form property at the end of the second statement, which is needed in order to associate the subform with the variable frm.
Note 1: You can only use form variables on for otherwise, the compiler will error out.&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&& Note 2: Make sure you reference the correct name of the subform on the main form or the code will not work. For example, if the subform control has a SourceObject set to a form named &frmOrderItems_sub& but has a control name of &OrderItems& on the main form, then your code should look like this:
Dim frm as Form_frmOrderItems_sub&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&& Set frm = Forms!frmCustomers.OrderItems.Form
I encourage you to start using form variables in your code when you need to reference one form from another. It's another great tool in Access that will make sharing information easier across your application and can even speed it up.
      
&&&&【&&】&&&&【&&】&&&&【&&】&&&&【&&】&&&&【&&】
Access网店
价格:¥100 元
价格:¥50 元
价格:¥1 元
(05-21 09:39)
(05-20 00:51)
(05-19 14:01)
(05-19 12:39)
(05-18 18:24)
(05-18 17:14)
(05-18 15:50)
(05-18 13:39)
(05-18 10:59)
(05-18 10:47)
Access软件网 版权所有 CopyRight
提供支持 本站特聘法律顾问: 李慧 律师扫一扫,访问微社区
只需一步,快速开始
后使用快捷导航没有帐号?
查看: 8740|回复: 9
(七)一个很好的VBA教程——speedfirst’s VBA教程6:用户窗体
锐币480872 元推广519550 分
在线时间939 小时
主题帖子锐币
, 积分 12849, 距离下一级还需 7151 积分
, 积分 12849, 距离下一级还需 7151 积分
本帖最后由 雨夜宝宝 于
08:03 编辑
最近发现咱们坛子里VBA挺火的!可能有一些朋友还不太明白VBA这东西!我找到一个不错的教程!会陆续传上来的!全部的教程做成了PDF随后传上来!
PDF下载请去这里!
大多数人更加偏爱图形界面的程序,因为它看起来很直观,用起来很方便。不过之前讲述的编程内容无法做到这一点。但是,“Visual Basic”的本意就是可以快速的编写可视化的程序。VBA当然可以快速制作图形界面。VBA称这种图形界面为“用户窗体”(User Form)。
为了添加一个窗体,要在工程视图中右击鼠标,并新建一个“用户窗体”。结果如图所示:
y1peVBQIIjVxMCP_f6HAhuox0PE-7dVjXZBc0uMTDDh6MMc0mHrfL6yhcNgEO9tMXPBTNoh5HeZ5Xc.jpg (97.11 KB, 下载次数: 45)
07:30 上传
这时可以看到工程视图中多出了一个“UserForm1”,这和之前我们书写的“模块”、“ThisWorkbook”和“Sheet”等是平级的。在主编辑窗口显示出了我们的窗体显示出来的样子,被称为“对象窗口”(窗体上面的若干点是用来定位控件的,并不会真的显示在实际的窗体里)。通过这个视图,就可以使得编程“所见即所得”。工具箱上有若干可以使用的控件。如果希望在窗体上添加控件,可以直接用拖拽的方式将工具箱的控件拉到窗体上。不过可以用的工具并不是像显示的那么少,右击工具箱,选择“附加工具…”可以添加相当多的工具。这些工具来自于诸多的COM控件。
左下侧是“属性”视图。这个属性和之间讲述的一个对象的属性是同一个东西(用户窗体本身就是一个对象),只不过这里明确的列了出来,而不需要像以前那样使用“对象名.属性名=值”的形式来访问它们。当然,利用编写代码访问窗体属性仍然是可以的,两种方式等价。只不过利用属性视图修改的属性并不灵活,只适合那种设好就一直不变的属性,比如窗体的标题、大小、背景色等;而利用编写代码的方式更具有动态性,比如实现单击窗体上某一按键就改变某个属性这样的功能。
那么如何显示一个窗体呢?很简单,可以使用UserForm.Show方法。比如对于上面的例子,就是:
UserForm1.Show
对于特别复杂的窗体,显示可能需要耗费一些时间。这时,可以在用户不知情的时候使用Load UserForm的方法预先将窗体加载到内存中。等到用户想看这个窗体的时候再Show,因为窗体已经加载好了,仅仅是显示出来,就会显得快很多。如果希望暂时隐藏窗体,可以使用UserForm.Hide方法。如果希望彻底将UserForm从内存中清除掉,则需要用Unload UseForm。
UserForm和用户是通过事件来进行的。为了处理事件,首先将“对象窗口”切换到“代码窗口”,做法是右键单击工程视图中的UserForm1,并选择“查看代码”。或者右键单击窗体本身,然后选择“查看代码”。甚至直接双击窗体也可以直接进入代码编辑状态,并自动生成UserForm_Click事件的处理代码框架。切换到代码视图后,编写如下代码:
Private Sub UserForm_Click()
&&MsgBox &User Form is Clicked&
就可以处理UserForm被单击后的事件——弹出一个对话框。写完后直接单击绿色箭头运行,并单击出现的窗体,就能看到如下的结果。
y1p_xLPeOOLkcWrsyUNAtGRlPHbjvxLndJ2-gdCJqz709vE6ec--umfRt3jWNnWj_WC4dak0exqAJQ.jpg (14.24 KB, 下载次数: 40)
07:30 上传
有的UserForm事件特别有用,比如QueryClose就是用户在尝试关闭窗体,但还未关闭时的事件。编写以下代码
Private Sub UserForm_QueryClose(Cancel As Integer, CloseMode As Integer)
&&IF UserForm.Height & 130 Then
&&Cancel = True
&&Me.Caption = &Increase the height to close me&
可以在用户尝试关闭窗体时检测窗体的高度是否达到要求,如果没有达到,就取消掉关闭这个动作,并且将窗体的标题改为提示信息。更现实一点,你可以将条件判断改为对窗体内容的合法性校验,并指定如果窗体内容不合法,就禁止关闭窗体。
当然,空空如也的窗体没什么用。所以需要加一些控件才能完成实际的工作。一些常见的控件如CommandButton是按键;Lable是静态文本;TextBox是文本框;ListBox是列表框。通过从工具箱中拖拽,可以将一些控件添加到窗体上。比如,在下面的例子中添加了一个ListBox,一个Lable,一个TextBox和两个CommandButton。添加时,可以用“格式”工具栏来对齐控件,这样界面就不会显得凌乱了。
默认情况下,VBA会生成比如TextBox1这样的名字。为了使得程序更好懂,我一般采用匈牙利命名法,即将控件的名字设为一个前缀和一个有实际含义的组合。比如btnAdd的意思是用作“Add”这个动作的CommandButton;frmTest就表示用作Test的用户窗体。利用属性视图中的第一个属性Name,就可以改变控件的名称。下图是添加好的效果,同时,我也标出了控件的名称:
y1pgGTmOifeY1VtmEEuEMBF30odIhBVIC29KE6rc3iYE6ztY9ufX8g5gTMY6pMKIVWlbVF7yYwBYs4.jpg (20 KB, 下载次数: 39)
07:30 上传
在这个窗体中,我通过修改控件的Captain属性,可以改变其外观文字,比如“添加”“提交”“值”和“Test From by speedfirst”。
这个例子希望一点击btnAdd按键,就将txtValue中的字符串添加到lstValues这个列表框里。双击对象窗口中的btnAdd,编写如下代码就能完成这样的工作。
Private Sub btnAdd_Click()
&&If txtValue.Text && && Then
& & lstValues.AddItem txtValue.Text
&&txtValue.Text = &&
&&txtValue.SetFocus
其中ListBox.AddItem可以将一个字符串加到列表框当中,并显示出来。利用条件判断,可以指定只有当txtValue非空才会添加列表框项目。添加后,将txtValue清空,并重新将输入焦点返还给它,以便于下次的输入。
这个例子还要求单击btnSubmit后,就将列表框中字符串写到当前活动工作表从A1单元格开始的范围中,每行一个。双击btnSubmit,书写下面的代码:
Private Sub btnSubmit_Click()
&&Dim i As Integer
&&While (i &= lstValues.ListCount)
& & ActiveSheet.Range(&A& & i).Value = lstValues.List(i - 1)
& & i = i + 1
&&Unload Me
这段代码利用While遍历了lstValue的每一个项目,并将其添加到单元格中。ListBox的List是一个集合,包含了所有ListBox的项目;ListBox.ListCount保存了ListBox中的项目的数量。值得注意的地方是单元格的行数是从1开始计数,而List是从0开始的,所以List的索引值要减1。最后,全部提交完毕,就关掉当前的窗体,这里用了Unload Me这个语句。“Me”是一个关键字,是指当前对象,在这里就是指当前窗体。
为了使得我们的程序可以在“宏”中出现,还是需要添加一个常规的“模块”,然后在里面写一个Sub即可:
Sub StartTestForm()
&&frmTest.Show
这样就能利用宏对话框来启动窗体了。
锐币193324 元推广54480 分
在线时间3994 小时
主题帖子锐币
沙发上支持{:4_94:}。
学习中充实,充实中丰富。
锐币10816 元推广160 分
在线时间123 小时
主题帖子锐币
, 积分 6813, 距离下一级还需 13187 积分
, 积分 6813, 距离下一级还需 13187 积分
感谢楼主分享
锐币376818 元推广423964 分
在线时间924 小时
主题帖子锐币
, 积分 20284, 距离下一级还需 29716 积分
, 积分 20284, 距离下一级还需 29716 积分
支持下~{:4_127:}
锐币1185 元推广0 分
在线时间5 小时
主题帖子锐币
, 积分 960, 距离下一级还需 40 积分
, 积分 960, 距离下一级还需 40 积分
啦啦啦啦,挺好的
锐币17935 元推广50 分
在线时间235 小时
主题帖子锐币
, 积分 4105, 距离下一级还需 895 积分
, 积分 4105, 距离下一级还需 895 积分
已经有点收获了,谢谢楼主
锐币5460 元推广230 分
在线时间489 小时
主题帖子锐币
, 积分 3078, 距离下一级还需 1922 积分
, 积分 3078, 距离下一级还需 1922 积分
本帖最后由 banjinjiu 于
16:30 编辑
我做了一个文件,大家看看怎样?
好像只能是输入字符串(英文吧),我没注意。
16:23 上传
点击文件名下载附件
下载积分: 锐币 -2 元
26.5 KB, 下载次数: 1, 下载积分: 锐币 -2 元
锐币5460 元推广230 分
在线时间489 小时
主题帖子锐币
, 积分 3078, 距离下一级还需 1922 积分
, 积分 3078, 距离下一级还需 1922 积分
重新做了,可以输入文字,数字,英文,大家下载这个吧,但是我不知道怎么删除上面的文件。
上面的文件不要了。
16:31 上传
点击文件名下载附件
下载积分: 锐币 -2 元
28 KB, 下载次数: 0, 下载积分: 锐币 -2 元
[]: banjinjiu做的PPT感动了上帝,奖励 9 元 锐币.
锐币63 元推广0 分
在线时间53 小时
主题帖子锐币
, 积分 828, 距离下一级还需 172 积分
, 积分 828, 距离下一级还需 172 积分
想要下载啊
锐币31502 元推广0 分
在线时间346 小时
主题帖子锐币
, 积分 12416, 距离下一级还需 7584 积分
, 积分 12416, 距离下一级还需 7584 积分
支持,不错的帖子。谢谢分享。不错不错 要好好学习下~
灌水精英勋章
水是论坛的生命,是你的浇灌让锐普生机勃勃。
优秀会员勋章
优秀是对一个锐友最高的荣誉,是优秀的锐友成就了优秀的锐普。
推广精英勋章
锐普有很多的宣传大使,是你们让更多的人获得了提升PPT的机会,感谢你们!
致富精英勋章
在一个公平环境里,总有一些人先富起来,颁发勋章,希望能够带动大家共同富裕。
守卫精英勋章
无数个深夜,你的坚守让我们不会寂寞,因为有你,论坛才有快乐。
2015奉献楷模勋章
锐普论坛勤劳的小蜜蜂,用自己的劳作丰富着论坛的果实。
名誉版主勋章
感谢曾经对锐普论坛和锐友们的贡献,锐普不会忘记你。
智慧精英勋章
这是一批卓越的精英,眼光高、水平高,分享的东西也是不一般的高。
电话咨询
<span class="icoTl" title="客服电话&#8802
Powered by
&#30005;&#35805;&#21672;&#35810;
<span class="icoTl" title="客服电话&#8802

我要回帖

更多关于 忍龙黑之章 的文章

 

随机推荐