我在下面有这段代码,基本上我想使它能够处理从R16R200以及Range("G16").SelectG200的整个单元格。

也就是说,当它更改为R17时,G16变为17,而当R18然后是G18等时。

因此,整个函数会运行,将R2更改为R3,将G2更改为G3,再次启动,然后将R3更改为R4,将G3更改为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

最佳答案

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行,而当您进入第2行时,它将指向214行。第200行。

关于excel - 循环此Excel宏?,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/3160386/

10-10 18:55