Я предполагаю, что вы не хотите перезаписывать Sheets("Plan2").Range("r56")
каждый раз, когда находите значение. В этом случае этот код записывает найденное значение в ту же строку, в которой оно найдено на первом листе.
Это работает без копирования-вставки и выбора или активации ячеек / листов. Также, если вы укажете свой лист с исходными данными, как я, даже не имеет значения, с какого листа вы запускаете макрос.
Sub Copiar()
Dim range1 As Range
Set range1 = Sheets(1).Range("K56:K58")
For Each cell In range1
If cell.Value = Sheets(1).Range("R55").Value Then
Sheets("Plan2").Range("R" & cell.Row).Value = cell.Offset(0, 2).Value
End If
Next
End Sub
Во-первых, я создам суперкласс и добавлю необходимые аннотации. Необходимо решить между:
Я думаю, что Подкласс, к которому Присоединяются, будет работать здесь. Вы добавляете аннотацию:
@Entity
@Inheritance(strategy=InheritanceType.JOINED)
К суперклассу.
Во-вторых, я составлю таблицу, которые представляют sub классы. Помните, что они будут только иметь столбцы, которые уникальны для подкласса, столбцы, которые совместно используются, останутся в суперклассе. Затем выберите строки из таблицы суперкласса, которые принадлежат каждого подкласса и перемещают данные.
Я не уверен, ищете ли Вы что-то более определенное? Эта статья объясняет, что наследование с В спящем режиме.