3

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

即当它变为 R17 时,G16 变为 17,当 R18 变为 G18 等。

所以整个函数运行变化R2R3G2G3再次开始并变化R3R4,G3G4等。

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
4

1 回答 1

2
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 行第 200 行。

于 2010-07-01T18:21:00.293 回答