我在下面有这段代码,基本上我想使它能够处理从R16
到R200
以及Range("G16").Select
到G200
的整个单元格。
也就是说,当它更改为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/