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

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

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



    为了说明为什么需要变量;可以按照如下步骤创建一个简单的过程:   
    1)创建一个名为〃你叫什么名字〃的过程。  
    2)在过程中输入如下代码:  
    Inputbox 〃输入你的名字:〃  
    现在不要担心 inputbox 语句的语法;将在第六学时中了解到有关这条命令的更多信息。  
    3)按下F5 键运行过程;这时会显示一个输入框;要求输入你的名字。  
    4)输入你的名字并按〃确定〃按钮;则结束该过程。   
    你输入的名字到那里去了?如何找到用户在输入框中输入的信息?在这种情况下;需要使用 
变量来存储用户输入的结果。  
    4。4。1 变量的数据类型   
    使用变量的第一步是了解变量的数据类型。变量的数据类型控制变量允许保存何种类型的 
数据。表 4…1 列出了 VBA 支持的数据类型;还列出了各种类型的变量所需要的存储空间和能够存 
储的数值范围。   
数据类型          存储空间        数值范围  
Byte              1 字节            0 … 255  
Booleam            2 字节          True 或者False  
Integer            2 字节          …32768 … 32767  
Long(长整型)        4字节        …2147483648 … 2147483647  
Single              4字节          负值范围:…3。402823E38 … …1。401298E…45  
                                     正值范围:1。401298E…45 … 3。402823E38  
Double                      8  字 节             负 值 范 围 :…1。79769313486232E308  …  
…494065645841247E…324  
                                    正    值   范    围   :4。94065645841247E…324      …  
1。79769313486232E308  
Currency            8字节        …922337203685477 … 922337203685477  
Decimal            14字节        不包括小数时:+/…79228162514264337593543950335  
                                    包括小数时:+/7。9228162514264337593543950335  
Date              8 字节          1000年 1月 1 日 … 9999年 12 月31 日  
Object            4 字节          任何引用对象  
String(长字符串)  10字节+1 字节/字符      0 … 约 20 亿  
String(固定长度)  字符串的长度            1 … 约65400  
Varient(数字)    16字节                  Double 范围内的任何数值  
Varient(文本)    22字节+1 字节/字符        数据范围和变长字符串相同  
    表 4…1 VBA数据类型   
    作为 ABV 程序员,一个目标是选择需要存储空间尽量小的数据类型来保存所需要的数据, 
这正是表 4…1 提供各种数据类型存储空间的原因。例如,要保存诸如班级学生总数这样的小数 

                                           9 

… 页面 26…

Visual BASIC 程序设计网络教学                                                 橄榄树 
整                                                                                理 
字,那么 Byte 数据类型就足够了。在这种情况下,使用 Single 数据类型只是对计算机存储空 
间的浪费。  
    4。4。2 用 Dim 语句创建变量(声明变量)   
    现在;你对变量可以使用的数据类型已经比较熟悉了;以下我们将创建变量。创建变量可以 
使用 Dim 语句;创建变量通常成为〃声明变量〃 Dim语句的基本语法如下:   
    Dim 变量名 AS 数据类型   
    这条语法中的变量名代表将要创建的变量名。对变量的命名规则和对过程的命名规则相同。 
这条语句中的数据类型部分可以是表 4…1 中的任何一种数据类型。   
    变量名必须以字母开始;并且只能包含字母数字和特定的特殊字符;不能包含空格句号惊叹 
号;也不能包含字符@ &  #。名字最大长度为 255个字符   
    在接下来的练习中将说明如何在 VBA 中使用变量;你将要输入你的名字;并用一个消息框将 
其显示出来。具体步骤如下:   
    1)创建一个名为〃显示你的名字〃的子程序。  
    2)输入以下代码:  
    Public Sub 显示你的名字()  
    Dim s 名字 As String  
    s 名字 = Inputbox(〃请输入你的名字:〃)  
    Msgbox 〃你好〃& s 名字  
    End Sub  
    3)将鼠标放到过程中的任何地方;按下 F5键运行过程;会显示一个输入框。  
    4)输入你自己的名字并按回车键;会显示一个消息框;显示的文字中包含你自己的名字。  
    5)单击〃确定〃按钮;返回过程中。   
    在 Dim 语句中不必提供数据类型。如果没有数据类型;变量将被定义为 Variant 类型;因为 
VBA 中默认的数据类型是 Variant。你知道这一点后;最初的反应也许是觉得应该不用自己决定 
数据类型;而将一切抛给 VBA。这种观念是完全错误的。你必须决定选择使用何种数据类型。因为 
Variant 数据类型占用存储空间较大(16 或 22 字节)而且它将影响程序的性能。VBA必须辨别 
Variant 类型的变量中存储了何种类型的数据。  
    4。4。3 变量命名的惯例   
    下表给出了推荐的变量命名惯例   
数据类型        短前缀        长前缀  
Array            a            ary  
Boolean          f            bin  
Byte              b            bit  
Currency          c            cur  
Double            d            dbl  
Date/Time        dt            dtm/dat  
Integer          i            int  
Long              l            lng  
Object            o            obj  
Single                        sng  
String            s            str  
Variant          v            var  
    表 4…2 变量命名的前缀   
    4。4。4 使用数组   
    如果你使用过其他编程序语言;可能对数组已经比较熟悉了。数组是具有相同数据类型并共 
同享有一个名字的一组变量的集合。数组中的元素通过索引数字加以区分;定义数组的方法如 
下:   
    Dim array_name(n) As type (其中 n 是数组元素的个数)   
    例如;如果要创建保存 10 个学生名字的数组;可以用以下语句:  
         Dim s 学生名字(9) As Integer  
    注意;括号中的数字是 9 而不是 10。这是因为在默认的情况下;第一个索引数字是 0。数组在 
处理相似信息时非常有用。假设要处理15门考试成绩;可以创建15个独立的变量;这意味着要使 
用 15 个 Dim语句。也可以创建一个数组来保存考试成绩,具体如下:  

                                         10 

… 页面 27…

Visual BASIC 程序设计网络教学                                                  橄榄树 
整                                                                                 理 
    Dim s 考试成绩(14) As Integer  
    声明数组时的另一种方法是不给定大小。可以在程序运行时定义其大小。通过创建动态数 
组就可以做到。例如,你的程序要创建一表格,可以提示用户输入表格的行和列的数目。声明 
动态数组的语法如下:  
    Dim dyn_array() As type  
    对数组声明后可以在程序运行时用:ReDim语句指定数组的大小:  
    ReDim dyn_array()(array_size)  
    参数 array_size 代表数组的新大小。如果要保留数组的数值,请在 ReDim 语句后使用保留 
字 Preserve;具体语法如下:  
    ReDim Preserve dyn_array(array_size)  
    4。4。5 变量赋值   
    声明变量后就可以给变量赋值。请注意下列语句中为数组变量赋值时索引数字的使用。   
    程序清单 4…4  
    Dim i 人数 As Integer  
    Dim i 考试成绩 As Integer  
    Dim i As Integer  
    i 人数 = inputbox(〃输入学生的人数:〃)  
    ReDim Preserve i 考试成绩(i 数量)  
    For i = 1 to i 人数  
    i 考试成绩(i) = inputbox(〃输入考试成绩〃& i )  
    Next   

                          第五课 利用 VBA 设置工作表使用权限  

Excel Home   
一般保护工作表采取的方法是用 EXCEL 菜单中的〃保护〃命令,有时这尚嫌不足,比如一些机密 
文件根本要让某些使用者无法看到,但又需要他来操作工作簿中的其他表,怎么办?   
可以打开 VBA 编辑器,打开〃工程资源管理器〃,双击该工作表,现在出现的是设置该表的属性 
的编辑窗口,单击窗口左上的下拉列表框,选择 worksheet ;这时再从该窗口右上方的列表框 
中选择 Active(〃激活〃),这时自动显示如下的语句块:  
Private Sub Worksheet_Activate()  
End Sub  
在其中加入代码:(假设用〃123〃作为密码;Sheet〃机密文档〃为限制权限文  
档;sheet〃普通文档〃为工作簿中你认为任何适合的工作表)  
If Application。InputBox(〃请输入操作权限密码:〃) = 123 Then  
Range(〃A1〃)。Select  
Else  
Msgbox 〃密码错误;即将退出!〃  
Sheets(〃普通文档〃)。Select  
End if  
程序如下:  
Private Sub Worksheet_Activate()  
If Application。InputBox(〃请输入操作权限密码:〃) = 123 Then  
Range(〃A1〃)。Select  
Else  
MsgBox 〃密码错误;即将退出!〃  
Sheets(〃
返回目录 上一页 下一页 回到顶部 1 1
未阅读完?加入书签已便下次继续阅读!
温馨提示: 温看小说的同时发表评论,说出自己的看法和其它小伙伴们分享也不错哦!发表书评还可以获得积分和经验奖励,认真写原创书评 被采纳为精评可以获得大量金币、积分和经验奖励哦!