【问题标题】:Loop this Excel Macro?循环这个 Excel 宏?
【发布时间】:2010-07-01 17:57:39
【问题描述】:

我在下面有这段代码,基本上我希望能够让它执行从R16R200Range("G16").SelectG200 的整个单元格范围。

即变为R17则G16变为17,R18变为G18,以此类推。

所以整个函数运行将R2更改为R3G2更改为G3,再次启动并将R3更改为R4G3更改为G4等。

Sub Search()

Range("H2").Select
ActiveCell.FormulaR1C1 = "=IF(ISNUMBER(SEARCH(R16C6,RC[4])),RC[2],"""")" ' Edit RXX value
Range("H2").Select
Selection.AutoFill Destination:=Range("H2:H385")
Range("H2:H385").Select
Range("G16").Select ' Edit GXX value
ActiveCell.FormulaR1C1 = "=SpecialConcatenate(C[1])"
Range("G11").Select
Application.Run "Test.xlsm!CopyPaste"
Range("H2").Select

End Sub

【问题讨论】:

    标签: vba excel excel-2010


    【解决方案1】:
    Sub Search2()
    
        With Range("h2:h385")
            .FormulaR1C1 = "=IF(ISNUMBER(SEARCH(R[14]C6,RC[4])),RC[2],"""")"
        End With
    
        Range("G16").FormulaR1C1 = "=SpecialConcatenate(C[1])"
        Application.Run "Test.xlsm!CopyPaste"
    
    End Sub
    

    如果您将 R 编号放在括号中,它将使其相对于您所在的任何单元格。因此,当您位于第 2 行时,R[14] 将指向第 16 行,当您位于第 214 行时,它将指向第 214 行'在第 200 行。

    【讨论】:

    • 嗨,感谢您的回复:) - 这是否也增加了 G 的范围?即当从 h2 变为 h3 时,G 从 g2 变为 g3 ?重复 [h4, g4, / h5, g6 等]
    • 是的。 R[14]C6 表示在 G 列中向下移动 14 行。C6 始终指向 G 列,而与当前列无关(因为它不使用括号)。 R[14] 随着行的变化而变化。 RC[4] 表示保持在同一行并向右移动 4 列。在这一个中,行和列都相对于活动单元格。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2011-07-15
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多