VBA基础一:对象、属性、方法、变量
'1、工作簿(Workbooks)
' Workbooks(N)第N个工作簿
' Workbooks ('工作簿名')
' ActiveWorkbook 活动工作簿
' ThisWorkBook '代码所在工作簿
'2、工作表(Worksheets)
'Sheets(N) 第N个工作表
'Sheets('工作表名')
'SheetN 第N个工作表
'ActiveSheet 活动工作表
'worksheets 与 Sheets的区别
'3、单元格(cells)
'Range ('单元格地址')
'Cells(行号,列号)
'[A1]单元格简写
'Activecell 活动单元格
'Selection 当前被选取的区域
'VBA属性: 指对象所具有的特性?
'人的属性:姓名,年龄,身份证号,住址….
Sub 属性()
Debug.Print Sheet1.Name
Debug.Print Sheet1.Range('a1').Value
End Sub
'VBA对象属性的赋值,sheet2本来没有字,运行下边的赋值语句则表名并且A1位置显示“学习VBA”。如果sheet2不存在或删除,则“运行时错误 424,要求对象”。删除后再新建表,虽然看起来是sheet2,但值属性已经是sheet3或其它。
Sub 属性赋值()
Sheet2.Name = '改变自己'
Sheet2.Range('a1') = '学习VBA'
End Sub
'方法:实际上就是对对象的操作,它是一种动作,一种行为。
Sub 选择方法()
Range('a1:a100').Select
'注:如果单元格区域前没有写工作表名,则默认为活动工作表
End Sub
Sub 复制方法()
Sheet1.Range('a1:a30') = 1 '将1写入表一的a1:a30区域
Sheet1.Range('a1:a5').Copy Sheet2.Range('a1') '将表一的a1:a5区域的值复制到表2的a1
End Sub
Sub 删除方法()
Sheets(3).Delete
End Sub
'删除的方法本例删除的是整个工作表,会弹出窗口“有数据,是否删除?”如果删除指定的单元格,可能应指定:Sheets(3).Delete.Range('a1:a5'),但还是删除整个sheet3
'1.常量:常量是定义了之后就不做变化了。
' 常量定义格式:Const 常量名= 常量表达式
Sub 常量()
Const pi = 3.145926
End Sub
'2.变量:在定义之后还能再次赋值
'变量定义格式:Dim 变量 As 变量类型
Sub 变量()
Dim a As Integer
a = 100
End Sub
'3.常量变量应用
Sub 应用()
Const pi = 3.1415926
Dim a As Integer
a = 200
Debug.Print pi * a
End Sub
'3.注意事项
'A.VBA允许使用未定义的变量,默认是变体变量(Variant)
'B.变量的强制声明:Option Explicit
'4.变量名的命名规则
'以字母开头
'不能用保留字
'不超过 255 个字符。
'同一范围内必须是唯一
'-------------------------------------------------------------------
'1.VBA中的常见数据类型:
' 类型 注释 简写 占用内存
' Integer 整型 % 2Byte
' Single 单精度 ! 4Byte
' Double 双精度 # 8Byte
' Long 长整型 & 4Byte
' String 字符型 $ 定长或变长( 变长字符串最多可包含大约 20 亿 ( 2^31)个字符。 定长字符串可包含 1 到大约 64K ( 2^16 ) 个字符。)
' Currency 货币型 @ 8Byte
'--------------------------------------------------------------------
Sub 数据类型()
Dim a As Integer
Dim b%
End Sub
Sub 多数据类型声明()
Dim a As Integer, b As Single, c As String
Dim d%, e!, f$
End Sub