Excel VBA (Visual Basic for Applications)是电子表格与编程结合的地方。尽管Excel VBA不像一般的编程语言那么复杂或强大,但是除了那些非常有决心的学习者之外,其他所有人都很难掌握它。与此同时,VBA的应用和能力是巨大的。如果你想真正掌握Excel,学习VBA是必须的。这高级Excel课程帮助你开始。

在本教程中,我们将更多地了解Excel最强大的功能之一,VBA数组,以及如何在我们的电子表格中使用它。

什么是数组?

数组在字典中的意思是“有序的排列”。在编程和Excel中,数组的含义非常相似,除了这里的数组指的是“数据的有序排列”。

数组主要用于对类似类型的数据进行分组或分类。在函数中,它类似于变量,不同之处在于变量只能保存一个项,而数组可以保存多个项。

例如,如果我有一个动物列表,我想给它赋值变量,我可以这样做:

一个=“马”

B = "狗"

C = "猫"

D = "牛"

E =“鸭子”

这太冗长乏味了。相反,我可以这样使用一个数组:

动物=数组(“马”、“狗”、“猫”,牛”、“鸭”)

因此,我们没有声明五个单独的变量,而是只声明了一个可以保存所有五个项的数组。

最好的部分?我们可以随时引用或提取任何特定项。这使得数组在编程中特别强大。

数组在Excel中

当高级用户无法使用内置Excel函数时,数组是他们可以使用的工具。数组可以用来执行使用普通公式似乎不可能完成的任务。它们可能听起来很复杂,但是一旦你掌握了它们的窍门,你就会在所有的电子表格中使用它们。

和变量一样,VBA中的数组也是使用Dim来声明的。除了数组名称之外,您还需要指定数组将存储的值的数量和类型。

完整的语法如下所示:

例如

地点:

昏暗的=声明变量/数组的命令

ExampleArray=数组名

(6)=存储在数组中的值的个数*

作为字符串=存储在数组中的数据类型

*在VBA中,和大多数编程语言一样,计数从0开始。因此,(6)实际上意味着有7个存储值(从0到6)。如果你想从1开始计数,你可以写(1到6),像这样:

昏暗的MyArray(1到6)作为字符串

了解更多关于Excel中的数组Excel 2013高级在线培训课程

如何使用Excel VBA数组

了解数组在Excel中如何工作的最好方法是自己创建一个。

步骤1:启用Developer选项卡

第一步是启用Excel中的Developer选项卡。这将使我们能够创建公式和宏。

步骤2:启用宏

在开始创建数组之前,需要启用宏(出于安全考虑,默认禁用宏)。

步骤3:创建一个按钮

在编写我们的小VBA程序之前,我们将首先创建一个可以运行它的按钮。

Dim CustomerName(1 to 10) As String For i = 1 to 10 CustomerName(i) = InputBox(" Please Enter the CustomerName ") Cells(i, 1) = CustomerName(i) Next . Cells(i, 1) = CustomerName(i

您的程序现在与按钮相关联。按下按钮将触发VBA程序

新的Excel ?这Excel快速通道课程帮助你开始。

步骤4:运行程序

保存程序后关闭VBA窗口(ALT + F11)。现在您将看到带有按钮的原始工作表。

单击按钮(如果按钮未启用,请尝试单击任何单元格以在单击之前取消选中它)。提示您输入“请输入客户名称”(或您在程序中写的任何其他内容)将弹出。

由于我们将公式中的范围设置为1到10,因此提示符将要求我们输入10次。无论你在对话框中输入什么值,都会自动填满第一列:

“它!您已经成功地使用数组创建了VBA宏!

分解:理解VBA数组公式

在我们离开之前,让我们再看看上面使用过的VBA数组公式:

Sub Button1_Click() Dim CustomerName(1 To 10) As String For i = 1 To 10 CustomerName(i) = InputBox(“请输入客户名称”)Cells(i, 1) = CustomerName(i) Next End Sub

让我们试着更好地理解它:

子Button1_Click ()

这个命令基本上用于引用我们在工作簿中创建的按钮。Button1是我们按钮的名称;Click ()是触发它的动作。

昏暗的CustomerName(1到10)作为字符串

这是我们实际的数组。在这里:

昏暗的=赋值变量和数组的命令

CustomerName= array的名称

(1 - 10)=数组中存储值的个数。

作为字符串=这告诉Excel要存储的值是字符串,而不是数字(数字将是整数)

继续

对于i = 1到10

这是VBA循环。它告诉VBA依次遍历值1到10。

CustomerName(i) = InputBox(“请输入客户名称”)

在这里,CustomerName(我)循环到I(从1到10),为每个输入的值赋值InputBox

Cells(i, 1) = CustomerName(i)

这告诉Excel输入值在第一列的前一行中接受。如果你想把它们写在第二列,你可以这样写细胞(我,2)

下一个

每个For循环必须以Next命令结束。

终止子

这表明程序结束了。

既然您知道了如何使用数组,为什么不学习类似于先进的Excel培训它将向你介绍更高级的Excel概念,包括如何使用VBA数组。

Excel VBA顶级课程

解锁Excel VBA和Excel宏
莱拉Gharani
4.7 (26524)
畅销书
熟练掌握微软Excel宏和Excel VBA
凯尔尤
4.5 (11485)
畅销书
Excel VBA宏:超消除歧义的Excel VBA编程
格兰特赌博
4.5 (979)
畅销书
完整的Web自动化与Excel VBA
丹尼尔强
4.7 (730)
畅销书
最终Excel VBA
马克Talbert
4.7 (3177)
Excel VBA编程-完整指南
鲍里斯Paskhaver
4.6 (3711)
Microsoft Excel VBA简介
凯尔尤
4.5 (1152)
Excel宏和Excel VBA编程初学者
Andreas Exadaktylos
4.5 (843)
评价最高
Microsoft Excel VBA for初学者-逐步学习VBA
史蒂夫·麦克唐纳,吉莉安·沃纳
4.3 (284)

更多Excel VBA课程

Excel VBA的学生也可以学习

让你的团队。领导行业。

使用Udemy for Business订阅在线课程库和数字学习工具。

请求一个演示