首页 文章

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

提问于
浏览
0

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

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 回答

  • 1

    你可以使用:

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

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

    • CCount.Column 返回一个列号(不是字母),因此 CCount.Column & (RC + 1) 的结果可能是"12"而不是"A2" .

    • Cells() 中,第一个参数是行号,第二个参数是列号,因此这可能是 Set MCell = Range(Cells(CC, RC + 1)) 无效的原因 . 另一件事是你在两个函数中设置范围( RangeCells ) . 你应该保留一个 .

  • 0

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

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

相关问题