1. Sheet页操作
1.1. 选中Sheet页
方法:
Sheets("<sheet页名>").Select
示例:
Sheets("Sheet1").Select '选择Sheet1
2. 单元格操作
2.1. 选中单元格
2.1.1. Range方法
方法:
①Range("<单元格地址>").Select '选中单个单元格
②Range("<单元格地址>:<单元格地址>[,<单元格地址>……]").Select '选中多个单元格
示例:
Range("C9").Select '选中“C9”单元格
Range("A1:B2").Select '选中“A1”、“A2”、“B1”、“B2”四个连续的单元格
Range("12:12").Select '选中第12行
Range("B:B").Select '选中第B列
Range("A1:A2,B7,2:2").Select '选中“A1”、“A2”、“B7”五个不连续的单元格和第二行
2.1.2. Cells方法
方法:
Cells(第几行, "第几列").Select
示例:
Cells(1, "A").Select '选中 A1 单元格
Cells.Select '选中当前SHEET中的所有单元格
2.1.3. Rows和Columns
方法:
①Rows("<行地址>:<行地址>").Select '选中整行
②Columns("<列地址>:<列地址>").Select '选中整列
示例:
Rows("2:2").Select '选中第2行
Rows("2:5").Select '选中2到5行
Columns("A:A").Select '选中A列
Columns("E:B").Select '选中E到B列
2.2. 获取单元格的值
方法:
①Range("<单元格地址>").Text
②Cells(行, "列").Value
示例:
Range("A1").Text '获取A1的值
Cells(1, "B").Value '获取B1的值
2.3. 给单元格赋值
2.3.1. Cells直接赋值
方法:
Cells(行, "列") = <值>
示例:
Cells(1, "B") = "张三李四" '给单元格B1赋值为字符串"张三李四"
Cells(1, "B") = 1 '给单元格B1赋值为数字1
2.3.2. Range激活单元格赋值
方法:
ActiveCell.FormulaR1C1 = <值>
示例:
Range("A1").Select
ActiveCell.FormulaR1C1 = "Name" '单个单元格赋值
Range("A2:B3").Select
Range("A2").Activate
ActiveCell.FormulaR1C1 = "BUG"
Range("B2").Activate
ActiveCell.FormulaR1C1 = "12" '多个单元格赋值
2.4. 清理单元格
方法:
Selection.ClearContents
示例:
Range("A1:A2, B7, 2:2").Select '选中“A1”、“A2”、“B7”五个不连续的单元格和第二行
Selection.ClearContents '清空“A1”、“A2”、“B7”五个不连续单元格中的所有内容
2.5. 复制粘贴
2.5.1. 直接复制粘贴
方法:
①Range("<单元格地址>").Copy
②Range("<单元格地址>").Paste
示例:
Range("A1:B1").Copy '复制“A1”、“B1”两个单元格
Range("F2").Paste '从“F2”单元格开始粘贴
2.5.2. 选中单元格再复制粘贴
方法:
①Selection.Cut '剪切
②Selection.Copy '复制
③ActiveSheet.Paste '粘贴
示例:
Range("A1").Select
Selection.Cut
Range("A2").Select
ActiveSheet.Paste
Selection.Copy
Range("A3").Select
ActiveSheet.Paste
2.5.3. 选择性粘贴
方法:
Selection.PasteSpecial <option>
参数:
全部 | xlPasteAll |
公式 | xlPasteFormulas |
数值 | xlPasteValues |
格式 | xlPasteFormats |
批注 | xlPasteComments |
验证 | xlPasteValidation |
所有使用源主题的单元 | xlPasteAllUsingSourceTheme |
边框除外 | xlPasteAllExceptBorders |
列宽 | xlPasteColumnWidths |
公式和数字格式 | xlPasteFormulasAndNumberFormats |
值和数字格式 | xlPasteValuesAndNumberFormats |
所有合并条件格式 | xlPasteAllMergingConditionalFormats |
示例:
Cells(1, "A").Select
Selection.Copy
Range("A2").Select
Selection.PasteSpecial (xlPasteAll) '选择性粘贴,全部
Range("A1:B1").Copy
Range("F2").PasteSpecial (xlPasteValues) '选择性粘贴,值
3. 行列操作
3.1. 改变列宽
方法:
①Selection.ColumnWidth = <宽度值> '指定列宽
②EntireColumn.AutoFit '自动改变列宽
示例:
Columns("A:A").Select
Selection.ColumnWidth = 30 '改变已选列的宽度
EntireColumn.AutoFit '自动改变列宽
Columns("C:C").EntireColumn.AutoFit '根据C列的内容自动改变列的宽度
4. 变量
4.1. 数据类型
类型名称 | 关键字 |
整型 | Integer |
单精度 | Single |
双精度 | Double |
字符型 | String |
长整型 | Long |
4.2. 变量声明与定义
Public:可定义全局变量
Dim:可定义局部变量
方法:
Dim 变量名 As 数据类型
Public 变量名 As 数据类型
示例:
Dim i As Integer '声明局部变量i,整型
Public j As String '声明全局变量j,字符型
4.3. 变量赋值
方法:
①给基本类型的变量赋值,直接使用 变量名 = 值 的语法即可
②给对象类型的变量赋值,需要利用到 Set 关键字,语法为 Set 变量名= 值
示例:
Sub example()
' 给基本类型变量赋值
Dim localNum As Integer
localNum = 22
' 给对象类型变量赋值
Dim obj As Range
Set obj = Range("c1")
End Sub