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)

您的选择无效,因为:

  1. CCount.Column returns 列号(不是字母),因此 CCount.Column & (RC + 1) 的结果可能是“12”而不是 "A2"。
  2. Cells() 中,第一个参数是行号,第二个是列号,所以这可能是 Set MCell = Range(Cells(CC, RC + 1)) 不起作用的原因。这里的另一件事是您在两个函数(RangeCells)中设置范围。你应该保留一个。

试试这个:set mcell= worksheets("Req Raw").cells(cc,rc+1)

第一次尝试的问题:您需要将列号转换为字母,这在产生多个字母时很复杂。
第二次尝试:您尚未指定工作表。