Excel VBA - 使用一个变量范围的列来设置另一个

时间:2015-05-07 19:17:52

标签: vba excel-vba variables range excel

我有一个变量范围对象需要使用另一个范围变量的列进行设置。代码示例如下所示:

 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是一个整数,但它会抛出相同的错误。

2 个答案:

答案 0 :(得分:1)

您可以使用:

Set MCell = Cells(RC + 1, CCount.Column)

您的选项不起作用,因为:

  1. CCount.Column会返回一个列号(不是字母),因此CCount.Column & (RC + 1)的结果可能是&#34; 12&#34;而不是&#34; A2&#34;。
  2. Cells()中,第一个参数是行号,第二个参数是列号,因此这可能是Set MCell = Range(Cells(CC, RC + 1))无效的原因。这里的另一件事是你在两个函数中设置范围(RangeCells)。你应该保留一个。

答案 1 :(得分:0)

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

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