每个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”)。范围(“A1:A10”)。值=“Hello”

在哪里,

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

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

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

结果:

通过键入以下内容,我们可以实现相同的结果:

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

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

使困惑?看看这个全面Excel,宏和VBA的课程并清除你的疑惑。

实施例2:将公式插入一系列细胞中

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

(我们实际上使用上述.range方法填充了此电子表格)。

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

范围(“C1”)。公式=“= SUM(A1:B10)”

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

结果:

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

范围功能对于添加公式并单独插入值不用。它也可以是改变特定单元格值的有用工具。

在这里,我们将在一系列单元格中更改格式化大胆的。这是原始工作表:

这是我们使用的公式:

这是结果:

这里的重要信息是我们如何使用两个单元格范围来仅选择单元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”)。偏移(行,col).value = num
num = num + 2
下一个Col.
下一行
结束子

在这里,我们从数字1开始并引用前五行和列(请记住从0的Excel计数,它是包含的)。我们没有指定特定的行或列,我们已经使用了两个偏移量的变量。我们还在我们的循环中增加了2的数字以创建进度。

最终结果如下所示:

此示例刚刚显示范围命令可以是有用的。

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

范围(“A1”)。选择

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

范围(“A1:A20”)。激活

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

使用的任何提示和技巧范围?让我们在下面的评论中了解!

Excel VBA的顶级课程

解锁Excel VBA和Excel宏
Leila Gharani.
4.7 (26,985)
畅销书
Microsoft Excel Macros和Excel VBA硕士
凯尔·佩
4.5 (11,760)
畅销书
Excel Macros和VBA为初学者
Bluelime学习解决方案
4.3 (19)
热和新的
使用Excel VBA完成Web自动化
丹尼尔强
4.7 (741)
畅销书
Excel VBA宏:超消歧Excel VBA编程
格兰特赌博
4.4 (990)
畅销书
Excel VBA Essentials用于报告自动化
本杰明代表团
4.6 (187)
终极Excel VBA.
马克塔尔伯特
4.7 (3,215)
Excel VBA编程 - 完整指南
Boris Paskhaver.
4.7 (3,745)
Microsoft Excel VBA简介
凯尔·佩
4.6 (1,163)
Excel Macros&Excel VBA编程为初学者编程
andreas exadaktylos.
4.5 (862)
收视率最高

更多Excel VBA课程

Excel VBA学生还学习

赋予你的团队。引领行业。

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

请求演示