TOP

VBA-第 1 课。什么是 VBA。基本概念。

YouLibreCalc for Excel logo

在本节中,我们将考虑 VBA 是什么,因为宏是写在它上面的。

什么是VBA?

VBA 是一种嵌入式编程语言(代表 Visual Basic for Applications),由 Microsoft 开发。该语言不是独立的,而是仅用于 MS Office 软件包中的自动化流程。 VBA 广泛用于Excel,以及Access、Word 和包中的其他程序中。

VBA 是一种任何人都可以学习的简单编程语言。一旦你学会了它,你将能够给出 Excel 命令,如何处理列、行、单元格值,移动/添加/排序工作表,显示预编程消息,编写自己的公式和函数等等。语言的本质是对对象进行操作。

要使用 VBA 代码,我们需要一个编辑器 (Visual Basic Editor),默认情况下它已安装在 Excel 中。您可以通过按组合键“Alt+F11”打开它。

对象 (Objects)

让我们了解一下 VBA 中的对象是什么。

VBA 一个对象是一个元素,一个结构粒子Excel,即:book、sheet、range、cell。

VBA 对象具有层次结构,即它们彼此从属。示意性地,Excel中的层次结构可以表示如下:

最重要的对象是Application,它对应于Excel 程序本身。 接下来是 Workbook(书籍)、Worksheet(工作表)、Range(范围或单个单元格)。

例如,要引用工作表中的单元格“A1”,我们需要编写以下路径,并考虑层次结构:

Application.Workbooks("Archive").Worksheets("Sheet1").Range("A1")

因此,我们学会了引用 Excel 中的最小对象 - 单元格。

集合 (Collections)

反过来,VBA 对象属于“集合”。

VBA 集合是同一类对象的一组(数组)(一组书籍、工作表等)。是的,所有 Worksheet 对象都是 Worksheets 集合的元素。反过来,集合也是一个对象。

相同的对象可以属于多个集合。例如,Worksheet 对象也属于 Sheets 集合。 Sheets 集合包含工作簿中的所有工作表 - 两个图表(也被视为工作表 (Chart) 和数据表 (Worksheet))。

VBA Excel 中存在以下集合:

  • Workbooks(包含 Workbook 对象)
  • Worksheets(Worksheet 对象)
  • Sheets(对象 Worksheet 和 Chart)
  • Ranges(Ranges 对象)
  • ChartObjects(对象ChartObject)
  • PivotTables(对象PivotTable)
  • 还有许多其他人...
  • 属性 (Propertes)

    VBA 中的每个对象都有属性。例如,Range 对象具有 Value 或 Formula 属性。

    Worksheets("Sheet1").Range("A1").Value 或 Worksheets("Sheet1").Range("A1").Formula

    在此示例中,该属性显示输入到单元格中的值或输入的公式。

    另外,通过 Formula 属性,您不仅可以获取公式,还可以将其写下来:

    MsgBox Range("A1").Formula - 我们将收到一条包含单元格“A1”中公式的消息;

    Range("B12").Formula = "=2+6*100" - 在单元格“B12”中输入公式“=2+6*100”。

    方法 (Methods)

    现在让我们看看如何操作区域或单元格的内容。为此,VBA 中有所谓的方法(“做什么”命令)。编写代码时,方法与对象之间用点分隔,例如:

    Range("A1").Select 或 Cells(1,1).Select

    此方法指定选择 (Select) 单元格“A1”。

    接下来,我们删除该单元格中的值。为此,我们将编写以下代码。

    Selection.ClearContents

    这里程序“获取”我们选择的内容 (Selection) 并清除其内容 (ClearContents)。