每个Excel用户都熟悉选择一系列单元格 - 按Shift + Click,Ctrl +单击,或将鼠标拖到一系列单元格上。

但是如何在VBA中选择一个范围呢?在本文中,我将指导您如何选择一系列细胞并激活该范围内的特定细胞。我还将向您展示如何在Excel工作簿中实现这一点的实际示例。对于VBA中选择范围的更深入讨论,可以考虑参加这门课程Visual Basic for MS Excel

范围是什么?

您可能已经猜到了,范围指的是一个单元格或单元格的范围。一个范围可以是三种类型:

范围中选择的每个单元格必须位于相同的工作表中。到目前为止,Excel不支持多维范围(即多个工作表上的范围)。

您将在VBA编程中使用该范围功能,因为它使得选择单元格或一系列单元格毫不费力。

语法

VBA range命令的基本语法如下:

范围(Cell 1. Cell 2)

在哪里

细胞1(必需)=要操作的实际范围/单元格。这应该是一个特定的单元格名称(“A1”)或一组单元格(“A1: A10”)。

细胞2(可选)=要选择的单元格范围的左上左或右下角。

范围不仅可以接受单元格名称和范围,还可以接受字符串:

范围(“SalesVolume”)

这将选择具有“salesvolume”值的小区。

你甚至可以将范围嵌套在彼此内部,并选择特定的字符串:

范围(A1: A20,范围(“SalesVolume”))

这将引用A1:A20范围内拥有值“SalesVolume”的所有单元格

为了了解它是如何工作的,让我们看几个例子:

示例1:将值插入所选范围

让我们说我们希望用“Hello”填充列中的前十行。为此,我们将为我们的VBA宏添加代码:

工作表(“Sheet1”).Range (A1: A10”)。值= "你好"

在那里,

工作表(" Sheet1 ") =活动工作表的名称

.range(“a1:a10”)=要选择的单元格范围

.value =“hello”=要插入单元格的值

结果:

我们可以通过输入以下代码来获得相同的结果:

工作表(“Sheet1”)。范围(“A1”,“A10”)。值=“Hello”

请注意:如果您使用只需一张表,则“工作表(”表格1“)'部分并不是真正需要的,但是任何多页工作簿中的必需品。

困惑吗?看看这个全面的Excel,宏和VBA的课程消除你的疑虑。

例2:在单元格范围内插入公式

假设我们在这样的电子表格中有一系列值:

(我们实际上使用上面描述的. range方法填充了这个电子表格)。

我们可以用下面的公式来计算所有这些值的和:

范围(C1)。公式= " =总和(A1: B10)”

注意我们是如何使用。formula而不是。value的。

结果:

示例3:在一系列单元格中更改格式

Range函数不适用于单独添加公式和插入值。它也可以是更改特定单元格值的有用工具。

这里,我们将一个单元格范围内的格式更改为大胆的。这是原始工作表:

这是我们使用的公式:

这是结果:

这里需要注意的重要一点是,我们如何使用两个单元格范围来只选择单元格C3:C5。第一个单元格范围(细胞(3,3))指定只选择来自第三列的单元格。如果我们想选择第一列,我们将写入单元格(1,1)。

第二个单元格范围指定行。它从较高的单元数到较低的单元数((5,3)而不是(3,5))。

使用Excel 2007 ?这门课会让你跟上进度在Excel 2007中使用VBA

例4:使用偏移量方法

选择范围的另一种方法是使用偏移方法。基本语法看起来像这样:

范围(“A1”)。偏移(2,3).Value = 4

这将改变下面的细胞两个单元的值,以及A1至4右侧的三个单元格。

让我们在电子表格中使用它,看看结果是什么:

这使得细胞E3(两个细胞向下,三个细胞右 - 偏移(2,3))= 4

偏移方法对变量特别有用。

让我们创建一个小程序,它将用从1到50的所有奇数填充一个行和列范围。

子Macro_1()
Num = 1
row = 0到4
对于Col = 0到4
范围(" A1 ")。抵消(行,坳)。值= Num
Num = Num + 2
下一个出口
下一行
终止子

这里,我们从第1开始,并引用前5行和列(请记住,Excel从0开始计数,这包括在内)。我们在Offset中使用了两个变量,而不是指定特定的行或列。我们也在循环中增加了2个数值去创造一个进程。

最终结果是这样的:

这个例子展示了Range命令是多么有用。

除了所有这些功能外,还可以使用范围来选择特定的单元格:

范围(“A1”)。选择

或者使特定的单元格范围有效:

范围(A1: A20”)。激活

您将在VBA编程中定期转向这些功能。要了解更多关于范围和其他类似的高级VBA功能,请参考Excel,宏,和Visual Basic应用基础课程

任何使用的提示和技巧范围吗?请在下面的评论中告诉我们!

Excel VBA顶级课程

解锁Excel VBA和Excel宏
莱拉Gharani
4.7 (26,628)
畅销书
使用Excel VBA完成Web自动化
丹尼尔强
4.7 (732)
畅销书
Microsoft Excel Macros和Excel VBA硕士
凯尔·佩
4.5 (11,549)
畅销书
最终Excel VBA
马克Talbert
4.7 (3182)
Excel VBA编程-完整指南
Boris Paskhaver.
4.6 (3716)
Microsoft Excel VBA简介
凯尔·佩
4.5 (1156)
Excel VBA宏:超消歧Excel VBA编程
格兰特赌博
4.5 (983)
畅销书
Excel宏和Excel VBA编程初学者
andreas exadaktylos.
4.5 (849)
收视率最高
Excel VBA练习和现实世界项目
凯伦Tateosyan
4.4 (218)

更多Excel VBA课程

Excel VBA学生还学习

让你的团队。领导行业。

通过Udemy为Business获取组织的在线课程和数字学习工具库的订阅。

请求演示