友情提示:如果本网页打开太慢或显示不完整,请尝试鼠标右键“刷新”本网页!阅读过程发现任何错误请告诉我们,谢谢!! 报告错误
飞读中文网 返回本书目录 我的书架 我的书签 TXT全本下载 进入书吧 加入书签

excel_vba_编程教程(完整版)-第78章

按键盘上方向键 ← 或 → 可快速上下翻页,按键盘上的 Enter 键可回到本书目录页,按键盘上方向键 ↑ 可回到本页顶部!
————未阅读完?加入书签已便下次继续阅读!



使用了VB函数CountA来计算A列里含有数据的单元格数目,函数的结果被赋予变量r。下一句:  
    Range(〃A1〃)。Offset(r + 1; 0) = Me。lboxSystems。Value  
将列表框选择的项目输入到A列最后一个使用了的单元格的下面一个单元格(r+1)。接下来,是好 
几条条件语句。第一条告诉VB,当Hardware选项按钮被选中时,在B列适当的单元格里输入一个星 
号。B列位于A列的右边一列,因此,在Offset方法第二个参数的位置为1。第二条If语句,当用户 
选择Software选项按钮的话,就在C列输入星号。类似的指令记录复选框的实际数值。在G列,将会 
输入Where Used复合框里所选的项目。H列显示Percent (%) Used 文字框里的数字,而I列和J列则 
分别显示提高调查人员的性别。  

                                           205 

… 页面 222…

35。使用 Info Survey 应用程序  

现在,你的应用程序已经准备好做最后测试了。  
1。 切换到Excel界面,Info Survey工作表,并且点击Survey按钮  
2。  当窗体出现时,选择适当的选项,并点击OK  
3。 激活窗体几次,每次选择不同的选项  
4。 保存Chap10。xls变化  

36。应用程序示例 2:学生和考试  

近年来,许多Windows应用软件越来越依赖于那些将各种控件组合在一起的对话框。“选项”对话框 
就是很好的例子,使用Tab页,你可以给一个对话框里的很多控件提高设置。用Tab页组合的对话框 
非常容易和方便使用。当给更高级的VBA应用程序设计自定义窗体时,你可以利用工具箱里可用的 
两种特殊的Tab控件:多页控件和TabStrip控件。应用程序示例2,本章剩下的主题,使用这些和其 
它的高级控件(例如RefEdit和Calendar)来追踪学生和他们的考试分数。  

37。使用多页和 TabStrip 控件  

图10…16所示的自定义窗体中间的对象是一个多页控件,它由两页组成。第一页含有文字框和复合 
框来收集学生信息,例如社会保险号码(SSN:Social Security Number),名和姓,学习年限和专 
业。窗体上部有一组选项按钮,让你明确学生状况:New或者Active。如果该学生的数据还没有输 
入到工作表中,那么该学生的状况就是New。当窗体第一次启动时,New选项按钮就会自动被选上。 
当你想要回顾或者更新已有学生的数据时,点击Active选项按钮将会显示RefEdit控件,用来使用 
学生姓名填充列表框控件,如同工作表中的一样。  
1。 在当前工程里插入一个新用户窗体,并重命名为Students  
2。 将窗体的Caption属性改为Students and Exams  
3。 点击工具箱上的多页控件,然后点击窗体的左上方并拖曳鼠标到窗体右下角  
4。 右键单击Page1页,并且选择快捷菜单上的“重命名”,在“题注”文字框里面输入Students, 
    并在“加速键”区域输入S。用同样的方法,重命名第二页Exams,以及输入加速键X  
5。 点击Students页,使用工具箱上的控件,在Students页上添加如图10…16所示的所有控件。按照 
    下述指南:  
1。 框架Status包含两个选项按钮,设置它们的Caption属性为New和Active,再将它们的Name属性 
    设置为optNew和optActive  
2。 使用标签标示的文字框,标签的Caption属性分别为SSN,Last Name和First Name。更改文字框 
    的Name属性为txtSSN,txtLast和txtFirst  
3。 标示复合框的标签Caption属性设置为Year和Major。复合框的Name属性设置为cboxYear和 
    cboxMajor。要让用户只能选择一个选项的话,可以给每个复合框的下述属性:MatchRequired 
    为True,MatchEntry为1…fmMatchEntryplete  
4。 在RefEdit控件上面放置标签Name Range。设置RefEdit控件的Name属性为refNames  
5。 设置列表框的Name属性为lboxStudents,设置ColumnCount属性为2,来显示两列数据  
6。 设置命令按钮的Caption属性为OK和Cancel,并且设置它们的Name属性为cmdOK和cmdCancel  

                                                                                             

                                          206 

… 页面 223…

图10…16 多页控件可以包含两页或者多页,每页显示不同的控件  
多页控件的第二页(图10…17)用来记录和显示与考试相关的信息。该页包含两个对象。标签控件 
临时标题为“Last,First”,在运行的时候,该标签将显示前一页选定学生的姓名。该页上的第二 
个控件是TabStrip控件,它包含了四个tab页,是四门功课考试。尽管在本练习中,页显示在控件 
的上部,但是,VB同样也允许你将tab的方位设置在底部,左边或者右边。当你从一页翻到另一页 
时,你可以看到这些相同的控件,只是每个控件显示的数据改变了。  
1。 点击多页控件上的Exams页  
2。 点击工具箱上的标签控件,并点击Exams页的左上角,拖曳鼠标画一个足够放下人姓名的长方形  
3。 在属性窗口,设置该标签的Name属性为lblWho,Caption属性为“Last; First”,设置Font属性 
    为Arial,Bold和14磅  
4。  点击工具箱上的TabStrip控件,在紧接标签控件的下面点击,并拖曳鼠标直到达到你想要的大 
    小和形状(参见图10…17)。默认地,TabStrip控件将会显示两页:Tab1和Tab2。要添加新的tab 
    页,首先要点击TabStrip控件内部以选择该对象,再次点击,直到TabStrip控件周围的虚框显 
    示为粗体(或者看到页头有虚线包围),单击右键,并选择快捷菜单上的新建页,VB就会添加Tab3, 
    使用相同的方法添加Tab4。在每页上单击右键,并且选择快捷菜单上的重命名,参见图10…17, 
    给每页设置名称。注意,每页的名称有一个带下划线,它允许用户从键盘访问该页,例如按下 
    Alt+E将激活English页。  
5。 点击English页,并开始画下述控件:  
    * 如果工具箱上只有题为控件的一页的话,那么回到本章的前面标题为“创建用户窗体的工 
       具”的部分,找到如何添加Calendar控件到工具箱上。然后将Calendar控件放置到TabStrip 
       里,如图10…17所示。设置Calendar控件的ShowDateSelectors属性为True。  
    * 添加Enter/Change Grade标签和一复合框,设置复合框的Name属性为cboxGrade  
    * 添加两个标签,Caption属性设置为Grade和Date,(另外两个标签的)Name属性设置为 
       lblGrade和lblDate。更改这两个标签的SpecialEffect属性为3…fmSpecialEffectEtched  
技巧10…6 设置TabStrip控件  
设置TabStrip控件的最好方法是先添加它本身,然后放置其它的控件在里面。然而,如果已经有了 
控件在那里,那么你可以在它们上面画TabStrip控件,然后使用“移至底层”命令,将TabStrip 
控件放到Z…顺序的底层。  

                                                                                              
图10…17 外面的框架包含一个多页控件,而里面的框架则包含TabStrip控件  
Students and Exams自定义窗体允许你输入新数据,或者显示数据,就像在工作表里一样。图10…18 
显示了本窗体使用的工作表。  
1。 准备如图10…18所示的工作表  
2。 在工作表里添加按钮Display Form,并且给他指定宏DoStudents  
3。 在VB编辑器屏幕,在当前工程里添加新模块,并设置模块的Name属性为InfoStudents  
4。 在InfoStudents模块里输入下述过程DoStudents:  
    Sub DoStudents()   
         Students。Show   
    End Sub   

                                           207 

… 页面 224…

                                                                                                   
图10…18 Students and Exams应用程序的协助工作表  
5。 返回到工作表,并点击按钮Display Form,测试DoStudents过程  
6。 点击窗体右上角的关闭按钮,关闭窗体  

38。给窗体 Students and Exams 自定义窗体编写 VBA 过程  

自定义窗体Students and Exams包含很多VBA过程,显示在下面。这些过程的代码必须输入在窗体 
模块里面,双击窗体背景,激活窗体模块。  
1。 从代码窗口左上角的复合框里选择“(通用)”。右边的过程选择复合框应该显示“(声明)”,输 
    入下述变量声明:  
    'Declarations   
    Dim r As Integer   
    Dim nr As Integer   
    Dim indexPlus As Integer   
    Dim YesNo As Integer   
2。 输入过程UserForm_Initialize代码,初始化窗体  
    Private Sub UserForm_Initialize()   
          'select first page of the MultiPage control 选择多页控件的第一页  
          'page numbering begins from zero (0) 页码编号从0开始  
         Me。MultiPage1。Value = 0   
          'choose the New option button 选择New选项按钮  
         optNew。Value = True   
          'hide three controls on startup 启动时先隐藏三个控件  
          lblNames。Visible = False ‘前面应该将标签Name Range命名为lblNames(原文为 
          lblLast)  
         refNames。Visible = False   
          l
返回目录 上一页 下一页 回到顶部 1 1
未阅读完?加入书签已便下次继续阅读!
温馨提示: 温看小说的同时发表评论,说出自己的看法和其它小伙伴们分享也不错哦!发表书评还可以获得积分和经验奖励,认真写原创书评 被采纳为精评可以获得大量金币、积分和经验奖励哦!