У меня есть фрагмент кода, который копирует определенный диапазон из Sheet1, ищет в Sheet4 текст под названием «Маркер 1» и вставляет скопированный диапазон из Sheet1 в Sheet4, начиная с ячейки «Marker 1».
Sub FindCopyPasteV1()
Dim FindM1 As Range
Dim CopyM1 As Range
With Worksheets("Sheet1").Range("A:DD")
Set CopyM1 = Sheets("Sheet1").Range("E6:E32")
End With
With Worksheets("Sheet4").Range("A:DD")
Set FindM1 = .Find(What:="Marker 1", LookAt:=xlWhole, MatchCase:=True, SearchFormat:=False)
CopyM1.Copy FindM1
End With
End Sub
Теперь я хочу изменить код, чтобы я мог использовать объект Range (FindH1) для выбора ячеек, которые я хочу скопировать из Sheet1.
Sub FindCopyPasteV2()
Dim FindH1 As Range
Dim FindM1 As Range
Dim CopyM1 As Range
With Worksheets("Sheet1").Range("A:DD")
Set FindH1 = .Find(What:="Header 1", LookAt:=xlWhole, MatchCase:=True, SearchFormat:=False)
Set CopyM1 = Sheets("Sheet1").Range("FindH1.E32") 'This doesn't work.
'Instead of Set CopyM1 = Sheets("Sheet1").Range("E6:E32")
End With
With Worksheets("Sheet4").Range("A:DD")
Set FindM1 = .Find(What:="Marker 1", LookAt:=xlWhole, MatchCase:=True, SearchFormat:=False)
CopyM1.Copy FindM1
End With
End Sub