Table of contents
在这篇文章中,我将向你展示如何使用以下方法将一个变量设置为一个单元格值 VBA 你将学习如何将一个变量设置为一个单元格和一个单元格区域的值。
下载实践工作手册
下载这本练习手册,在阅读本文时进行练习。
设置变量为Cell.xlsm在Excel中设置变量为单元格值的3个快速实例
这里我们有一个数据集,其中包含了 一些客户的名字 ,他们的 联系电话 ,以及 电子邮件地址 在范围内 B3:D13 的工作表。
我们的目的是将变量设置为该数据集的单元格值,使用 VBA .
1.使用Excel VBA将变量设置为单个单元格的值
首先,我们将学习使用以下方法将一个变量设置为一个单元格的值 VBA .
例如,让我们设置单元格的值 B4 到一个名为 客户名称 .
如果你知道值的数据类型并在之前声明它,那会更好。 然后在该变量中设置值。
例如,这里的细胞 B4 包含名称。 鲍里斯-帕斯捷尔纳克 这是个 字符串型 因此,你可以使用以下方法 2 行的代码。
Dim Value As String Value = Range("B4")
但如果你不确定数据类型也没关系。 在这种情况下,只写第二行,并且 VBA 将为你正确读取数值。
值 = Range("B4")
现在,为了检查是否 VBA 读取的数值是否正确,请输入以下一行 MsgBox Value 用两套代码中的任何一套,然后运行代码。
将出现一个信息框,显示单元格的值 B4 , 鲍里斯-帕斯捷尔纳克 .
2.使用Excel VBA将相邻的单元格区域的值设置为一个变量
现在,我们要把相邻的单元格区域的值设置成一个变量。 例如,让我们读一读该区域的 B3:D13 进入变量 Rng .
这里变量的数据类型将是一个 范围 你可以像这样事先声明。
Dim Rng As Range Set Rng = Range("B3:D13")
或者你可以直接用它来赋值。
Set Rng = Range("B3:D13")
现在,要访问 范围对象 你必须用它们的行号和列号来访问它们,用一个 细胞对象 .
例如,要访问细胞 B4 ,你必须使用 Rng.Cells(2,1) [ 细胞 B4 是在 第2次 行和 第一届 列的范围 B3:D13 .]
输入行 MsgBox Rng.Cells(2,1) 在你的代码中,运行它,它会显示 鲍里斯-帕斯捷尔纳克 ,单元格中的值 B4 .
3.使用Excel VBA将不相邻的单元格范围的值设置为变量
最后,我们将把一个不相邻的单元格范围的值设置为一个变量。
例如,让我们试着读取范围 B3:B13 和 D3:D13 纳入一个名为 Rng .
它又是一个数据类型的 范围 你可以事先申报,也可以不申报。
我们将使用 联盟方法 的 VBA 加入 2 或多个不相邻的单元格范围变成一个单一范围。
Dim Rng As Range Set Range = Union(Range("B3:B13"), Range("D3:D13"))
现在要访问细胞 B4 ,你必须再次输入行 MsgBox Rng.Cells(1,1)。 然后,如果我们运行这段代码,它将显示单元格中的内容 B4 , 鲍里斯-帕斯捷尔纳克 .
需要记住的事情
上面描述的所有方法只对活动的工作表起作用。 如果你想访问一个非活动的工作表,你必须在范围前提到工作表的名称。
例如,要访问范围 B4 的 第1张 ,你必须使用。
Value = Worksheets("Sheet1").Range("B4")