Excel表格宏命令教学二:VBA基础

2 VBA基础

VBA基础包括

  • 变量的声明,定义,赋值,取值,数据类型
  • Excel表格的基本操作
  • VBA自带函数的使用方法

2.1 变量

2.1.1 变量类型

根据数值类型可以分为数值,字符,日期,布尔等类型;
数值类型的数据用来存储数字,比如 1.2 ,10, 1000,
字符类型用来存储字符串,比如 helloworld,你好
布尔类型,就是 true/false

2.1.2 变量声明

语法:Dim varname as varType // varname 是变量名 vartype是变量类型 比如
``

Dim myage as Integer // 声明一个整数变量

Dim myname as String // 声明一个字符串变量

2.1.3 变量的赋值

myage = 18 // 整数赋值
myname = "Eric" // 字符串赋值

2.1.4 变量的使用

m = 12
n = 36

x = m * n

2.1.5 变量的范围

全局变量:Public varname as type
局部变量:Dim varname as type

全局变量在整个文件内都可用,局部变量只在函数内部可以使用

Public Myage as Integer // 全局变量
Myage = 18
Sub MyFunc()
    Dim myname As String // 局部变量
    myname = "Eric"
    Worksheets(1).Range("A1").Value = myname //使用局部变量
    Worksheets(1).Range("A2").Value = Myage // 使用全局变量
End Sub

2.2 Excel表格基本操作

2.2.1 定位sheet

我们知道Excel表格默认有三个Sheet(sheet1,sheet2,sheet3)

Excel表格宏命令教学二:VBA基础_第1张图片

那我们在VBA 程序里如何取得这三个Sheet呢? 演示如下,为了方便演示,我在每个sheet的A1 单元格分别填写不同的内容 “A in sheet1”,“B in sheet2”

Excel表格宏命令教学二:VBA基础_第2张图片Excel表格宏命令教学二:VBA基础_第3张图片
下面我写一段代码,使用下标的方式来定位sheet,分别从sheet1 和 sheet2 里取A1 单元格里的内容

Sub mytest()
Dim MyString As String

MyString = Worksheets(1).Range("A1").Value

MsgBox (MyString)
MyString = Worksheets(2).Range("A1").Value

MsgBox (MyString)
MyString = Worksheets(3).Range("A1").Value

MsgBox (MyString)

End Sub

Excel表格宏命令教学二:VBA基础_第4张图片
在Excel 表格里找到宏,查看宏,点击执行,
Excel表格宏命令教学二:VBA基础_第5张图片
分别取出A1 的值,并用弹窗的形式展示出来。
Excel表格宏命令教学二:VBA基础_第6张图片
Excel表格宏命令教学二:VBA基础_第7张图片

2.2.2 定位Sheet的其他方式

除了使用数字下标1,2,3 分别获取sheet1,sheet2,
MyString = Worksheets(1).Range("A1").Value
也可以直接指定名称来定位sheet,比如:
MyString = Worksheets("sheet1").Range("A1").Value
MyString = Worksheets("sheet2").Range("A1").Value
也可以达到同样的效果。
自己可以试验一下

2.3 VBA 自带函数的使用

如同在编辑栏里直接写SUM(A1,B1) 就可以直接使 A1 和B1 单元格的内容相加,VBA里也可以直接使用SUM函数。
Excel表格宏命令教学二:VBA基础_第8张图片

Sub mytest()
Dim MySum As Integer
a1 = Range("A1")  // 获取A1的值
b1 = Range("B1") // 获取B1的值
MySum = Application.WorksheetFunction.Sum(a1, b1)
Worksheets("sheet1").Range("C1").Value = MySum
End Sub

在Excel 表格运行

Excel表格宏命令教学二:VBA基础_第9张图片

另外其他函数可以参考官方文档: https://docs.microsoft.com/zh-cn/office/vba/api/excel.worksheetfunction
https://docs.microsoft.com/zh-cn/office/vba/api/overview/excel

你可能感兴趣的:(Office,杂项)