Excel VBA范围:如何在VBA中使用范围
每个Excel用户都熟悉选择一系列单元格 - 按Shift + Click,Ctrl +单击,或将鼠标拖到一系列单元格上。
但是一个人如何在VBA中选择一个范围?在本文中,我将指导您选择如何选择一系列单元格并激活该范围内的特定单元格。我还将显示有关如何在Excel工作簿中执行此操作的实用示例。有关在VBA中选择范围的更深入讨论,请考虑参加本课程Visual Basic for MS Excel。
什么是范围?
正如您可能猜到的那样,指的是细胞或一系列细胞。范围可以是三种类型:
一个单元格(即使是单个小区选择称为范围)
多个细胞
多个非连续单元 - 与Ctrl +单击单元格相同
在该范围内选择的每个单元格都必须在同一工作表中。截至目前,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的基础课程。
使用的任何提示和技巧范围?让我们在下面的评论中了解!