我有一个变量范围对象需要使用另一个范围变量的列进行设置 . 代码示例如下所示:
For Each CCount In Range("'Req Raw'!$A$2:$AA$2")
If CCount.Value <> 0 And CCount.Value <> "" Then
Set MCell = Range("'Req Raw'!" & CCount.Column & (RC + 1))
我很确定最后一行的语法是完全错误的,可能是导致运行时'1004'错误的原因
打破我想要做的事情如下:
我有一个未定义的列和行的表 . 在每个 For Each
迭代中,我需要将 MCell = Range
设置为 CCount
的列和整数行值 .
我已经尝试使用整数计数器来使列看起来像
Set MCell = Range(Cells(CC, RC + 1))
其中CC是一个整数,但它会抛出相同的错误 .
2 回答
你可以使用:
您的选项不起作用,因为:
CCount.Column
返回一个列号(不是字母),因此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)
.首次尝试时出现问题:您需要将列号转换为字母,这些字母在产生多个字母时会很复杂 .
第二次尝试:您尚未指定工作表 .