我有一个变量范围对象需要使用另一个范围变量的列进行设置。代码示例如下所示:
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))
我非常确定最后一行的语法是完全错误的,可能是导致运行时间&#39; 1004&#39;错误
我想要做的事情的细分如下:
我有一个未定义列和行的表。在每次For Each
次迭代中,我需要将MCell = Range
设置为CCount
的列和整数行值。
我尝试使用列的整数计数器使该行看起来像
Set MCell = Range(Cells(CC, RC + 1))
其中CC是一个整数,但它会抛出相同的错误。
答案 0 :(得分:1)
您可以使用:
Set MCell = Cells(RC + 1, CCount.Column)
您的选项不起作用,因为:
CCount.Column
会返回一个列号(不是字母),因此CCount.Column & (RC + 1)
的结果可能是&#34; 12&#34;而不是&#34; A2&#34;。Cells()
中,第一个参数是行号,第二个参数是列号,因此这可能是Set MCell = Range(Cells(CC, RC + 1))
无效的原因。这里的另一件事是你在两个函数中设置范围(Range
和Cells
)。你应该保留一个。答案 1 :(得分:0)
试试这个:set mcell= worksheets("Req Raw").cells(cc,rc+1)
。
第一次尝试时出现问题:您需要将列号转换为字母,这样在产生多个字母时会很复杂 第二次尝试:您尚未指定工作表。