Excel VBA - 使用一个变量范围的列来设置另一个
Excel VBA - Using the column of one variable range to set another
我有一个变量范围对象需要使用另一个范围变量的列来设置。代码示例如下所示:
For Each CCount In Range("'Req Raw'!$A:$AA")
If CCount.Value <> 0 And CCount.Value <> "" Then
Set MCell = Range("'Req Raw'!" & CCount.Column & (RC + 1))
我很确定最后一行的语法完全错误,可能是导致 运行 时间“1004”错误的原因
我要做的事情的分解如下:
我有一个 table 未定义的列和行。在每次 For Each
迭代中,我需要将 MCell = Range
设置为 CCount
的列和一个整数行值。
我试过对列使用整数计数器使行看起来像
Set MCell = Range(Cells(CC, RC + 1))
其中 CC 是一个整数,但它会引发相同的错误。
您可以使用:
Set MCell = Cells(RC + 1, CCount.Column)
您的选择无效,因为:
CCount.Column
returns 列号(不是字母),因此 CCount.Column & (RC + 1)
的结果可能是“12”而不是 "A2"。
- 在
Cells()
中,第一个参数是行号,第二个是列号,所以这可能是 Set MCell = Range(Cells(CC, RC + 1))
不起作用的原因。这里的另一件事是您在两个函数(Range
和 Cells
)中设置范围。你应该保留一个。
试试这个:set mcell= worksheets("Req Raw").cells(cc,rc+1)
。
第一次尝试的问题:您需要将列号转换为字母,这在产生多个字母时很复杂。
第二次尝试:您尚未指定工作表。
我有一个变量范围对象需要使用另一个范围变量的列来设置。代码示例如下所示:
For Each CCount In Range("'Req Raw'!$A:$AA")
If CCount.Value <> 0 And CCount.Value <> "" Then
Set MCell = Range("'Req Raw'!" & CCount.Column & (RC + 1))
我很确定最后一行的语法完全错误,可能是导致 运行 时间“1004”错误的原因
我要做的事情的分解如下:
我有一个 table 未定义的列和行。在每次 For Each
迭代中,我需要将 MCell = Range
设置为 CCount
的列和一个整数行值。
我试过对列使用整数计数器使行看起来像
Set MCell = Range(Cells(CC, RC + 1))
其中 CC 是一个整数,但它会引发相同的错误。
您可以使用:
Set MCell = Cells(RC + 1, CCount.Column)
您的选择无效,因为:
CCount.Column
returns 列号(不是字母),因此CCount.Column & (RC + 1)
的结果可能是“12”而不是 "A2"。- 在
Cells()
中,第一个参数是行号,第二个是列号,所以这可能是Set MCell = Range(Cells(CC, RC + 1))
不起作用的原因。这里的另一件事是您在两个函数(Range
和Cells
)中设置范围。你应该保留一个。
试试这个:set mcell= worksheets("Req Raw").cells(cc,rc+1)
。
第一次尝试的问题:您需要将列号转换为字母,这在产生多个字母时很复杂。
第二次尝试:您尚未指定工作表。