网站开发周期定义,青岛网站排名提升,国美网站建设的特点,免费自动网页生成器1、计算机硬件的组成部分 内存#xff0c;一旦断电#xff0c;存储在里面的数据就消失了#xff0c;而硬盘是永久存储数据的#xff0c;所以刚开始我们在文件里面编辑没有按保存的时候#xff0c;数据是在内存里面的#xff0c;一旦断电数据就没了#xff0c;但我们点了…1、计算机硬件的组成部分 内存一旦断电存储在里面的数据就消失了而硬盘是永久存储数据的所以刚开始我们在文件里面编辑没有按保存的时候数据是在内存里面的一旦断电数据就没了但我们点了保存数据就会存储到硬盘里面永久保存啦。 2、数据存储方式 计算机最小存储单元字节单位B最小单位位单位b1字节8位1B8b 3、数据类型及变量
布尔型、整数型、浮点型、字符型、数组、对象、类 4、布尔运算符 5、高级语言不能直接被计算机执行高级语言需要编译成为机器语言才能被计算机执行程序运行过程图示 6、 VBA命名方式
1可用字母数字或一些标点符号命名但第一个字符必须是字母
2不能使用空格
3不含有特殊类型的声明字符#$%)
4变量名不区分大小写 7、运算符
1算术运算符
、--、*、/、\(取商运算符、Mod取余运算符
\取商运算符7\23 Mod取余运算符7 Mod 2 1
2赋值运算符的优先级高于算术运算符
的含义是把8赋值给b然后ab 8、流程控制语句 1分支控制语句if语句 select case语句
2循环语句while循环语句 for next循环语句 小插曲excel中时间表示
1天1 1小时1/24 12点12/240.5
在excel中时间的实质就是数值 9、if条件判断语句使用
1if 条件 then 结果
2if 条件 then 结果 end if
ps这里注意两种写法的区别如果“结果”在下面就需要加end if结束语句如果“结果”在上面就不需要写end if
3多条件分支
if 条件 then 结果
else 结果
end if
if 条件 then 结果
elseif 条件 then结果
else 结果
end if 多条件嵌套语句 10、select case语句
当判断条件太多时用if看起来就太麻烦代码可读性太差这时就可以用select case 语句进行多条件判断
语法
select case 条件判断对象
case 条件1 结果
case 条件2 结果
case 条件3 结果
...
case else 全部条件都不满足的结果
end select
图示
图一 图二 图三 ps
1select case 条件判断对象这个对象只是一个对象不在这里进行条件判断在下面的case后面进行判断写法0.5is是系统自动补足的
2如果结果跟case写在同一行那条件后面一定要加“ 冒号“见上面图二
如果结果放在case的下一行那条件后面可以不用加” 冒号“见上面图三 11、循环语句Do...Loop循环
11.1、Do while...Loop的用法
语法一条件体在Do后面
Do While 条件表达式循环体
Loop 语法二条件体在Loop后面
Do循环体
Loop While 条件表达式 两者的区别是语法一是先判断条件再进入循环循环有可能一次都不执行语法二是先进入循环再判断条件循环至少循环一次。 案例这里只举语法一的例子
Sub 求和()Dim i As IntegerDim sum As Integeri 1sum 0Do While i 100sum sum ii i 1LoopMsgBox sumEnd Sub
ps
1Msgbox 在vba里表示弹出一个显示框类似于print打印的意思
2Do while ...Loop循环是执行完一次循环体执行Loop然后再Do whlie 条件判断
3vba中添加注释的方法有两种1加单引号 2Rem注释
例
Sub Example() 这是单行注释Rem 这也是单行注释 可以在单行的开始使用Rem但不能在其他位置Dim i As Integeri 10 这是行内注释
End Sub 循环结束设置
标志法主要用在循环次数不确定的情况下。其基本思想是设置一个标志变量标志变量的值随着循环发生变化每循环一次就测试一次标志变量的值当标志变量的值等于指定标志值时结束循环。
计数法主要用在循环次数确定的情况下。其基本思想时设置一个计数变量称为计数器循环开始前给出初始值每循环一次计数变量增1直到计数变量的值达到指定次数。
上述代码中的i就是标志变量用的就是标志法 11.2、Do Until...Loop的用法
Until跟while的用法一样不一样的是条件Until后面的条件满足条件时跳出循环Until是”直到“的意思 while是满足条件执行循环Until是满足条件跳出循环。
例子下面循环的含义是当i100时跳出循环
Sub 求和2()Dim i As IntegerDim sum As Integeri 1sum 0Do Until i 100sum sum ii i 1LoopMsgBox sumEnd Sub 12、For Next循环
语法
Dim 变量 定义一个变量
For 变量初始值 To 最大值 step 步长循环体
Next for next循环用于有确定的循环次数的语句
例
默认步长为1
Sub 求和2()Dim i As IntegerDim sum As IntegerFor i 3 To 5sum sum iNextMsgBox sumEnd Sub步长为2
Sub 求和2()Dim i As IntegerDim sum As IntegerFor i 1 To 100 step 2sum sum iNextMsgBox sumEnd Sub步长为-2
Sub 求和2()Dim i As IntegerDim sum As IntegerFor i 100 To 1 step -2sum sum iNextMsgBox sumEnd Su
ps
1步长可以为负
2在VBA中对于整型变量可以不用赋初值默认是0不写步长默认是1只是在VBA里面如果在C语言里一定要赋初值 13、循环语句 For Each ... in Next
作用针对一个集合或是数组中的每个元素重复执行操作
语法 例
Sub 循环()Dim rng As RangeFor Each rng In Range(A1:A3)rng.Value 1Next
End Sub
结果 ps
1Range是对象类型rng是对象变量
2代码的含义是rngA1时给单元格赋值1当rngA2时给单元格赋值1rngA3时给单元格赋值1结束循环
总结几个语句的区别 14、变量定义
1变体型Variant
语法
Dim a as Variant
当你不知道输入数据是什么类型时可以定义为变体型到时候系统会根据用户输入的数据来自动判断数据类型但是变体型的存储空间会很大都使用变体型的话会使得系统变慢如果你没有明确一个变量的类型那变量的类型默认是变体型。
2数组类型
定义:
Dim a(2) as integer ps
① 关于存储空间定义变量系统给每个变量分配的存储空间是随机的但是数组不一样定义一个数组那系统就会给这个数组分配一个连续的存储空间里面的元素按照从a[0]开始往后顺序存储是有序的
② 一个数组里面只能放相同的数据类型 3结构体
① 作用是一种聚合数据类型用以实现较复杂的数据结构。结构体同时也是一些元素的集合这些元素称为结构体的成员且这些成员可以为不同的类型成员一般用名字访问。
② 语法
自定义一个数据类型
Struct student{char nameint agechar sexfloat score
}定义一个变量
Struct student zhangru给变量赋值
zhangru.name林耶
zhangru.age18
zhangru.sex女
zhangru.score99这个Struct student是用户自定义的student的数据类型系统内存分配图示 ③ 结构体嵌套
结构体嵌套
Struct student{char nameint agechar sexfloat scoreStruct date{int yearint monthint day}bir
}定义一个变量
Struct student linye给嵌套变量赋值
linye.bir.year 2005
linye.bir.month 2
linye.bir.day 5 重点一个对象的属性可能是一个值也可能是另一个对象
点运算符结构体变量名.成员名 15、函数调用
vba里面的sub过程就相当于函数过程
调用方式
call 函数名
call可以省略直接写一个函数名可以进行传参函数调用和传参过程如下 16、变量的作用域和生命周期
1过程变量定义在过程中的变量叫做过程变量该变量只能使用在该过程中不用被其他过程使用例如下面的demo2中不能使用demo1中的a 在不同的过程中可以定义相同的变量名不会相互影响
2 模块变量在模块里面定义的变量在过程之外每个过程都可以调用图示 3全局变量在模块里面定义一个全局变量在过程之外每个模块都可以调用图示 各个变量的生命周期 ps过程的调用
在过程前面加上Public或者省略都是代表这个过程是公共过程所以模块都可以调用这个过程
如果在过程前面加上private代表这个过程是私有过程只能在本模块中被调用图示
Option ExplicitPublic a As Integer私有过程
Private Sub demo1()a 100MsgBox a
End Sub公共过程
Public Sub demo2() MsgBox a
End Sub公共过程
Sub demo2() MsgBox a
End Sub
17、静态变量
普通变量和静态变量的区别
1静态变量
代码 关键字static
Sub 静态变量()Static a As IntegerDim i As Rangea a 3Cells(1, 1) aEnd Sub
静态变量的特点是可以保留上一次变量的值也就是上一次变量的值会保留在内存中不会被释放如果要释放可以手工写代码让他释放或者等整个程序关闭的时候就会释放。
图示 区别程序执行第一次执行完a不会被释放会保留值当第二次再运行的时候就在a3的基础上计算但是普通变量是程序执行完一次a就会被释放释放完第二次再运行的时候还从新定义变量a 2普通变量
代码cells(1,1)选取单元格A1cells函数就是选取excel单元格的函数
Sub 普通变量()Dim a As Integera a 3Cells(1, 1) aEnd Sub
结果 代码在内存执行过程
dim a as integer以后在内存分配一块空间给a存储-----然后执行aa3-----然后把a赋值给A1单元格结束后执行end sub过程结束变量a的空间被释放过程图示 18、excel定义常量、ByVal按值传递、ByRef按引用传递
1定义常量公式-定义名称-名称用于计算 2 在VBA中定义常量的写法
Const PI3.1415926
3 ByVal按值传递
代码
Sub usechage()Dim x As Integerx 5change x 输出change过程的x值MsgBox x 输出本过程的x的值
End SubSub change(ByVal x As Integer)x x 2 更改x的值MsgBox x
End Sub
结果第一个x的结果是7change过程的x值第二个x的结果是5本过程x 在形参前面加上ByVal后传递的x就只传递x的值也就是复制一个x的值给形参x形参x和实参x不是同一个值这就是按值传递。
当形参前面不加ByVal的时候是按引用传递默认关键字ByRef按引用传递是形参和实参存储在两个空间形参引用的是实参的地址所以当change过程更改了x的值实参的值也会变代码
Sub usechage()Dim x As Integerx 5change xMsgBox x
End SubSub change(ByRef x As Integer)x x 2MsgBox x
End Sub
结果 图示