Пример: я выбрал любую строку и любой столбец, скажем, D6. Данные, которые я ищу, находятся в столбце H. Итак, я хочу, чтобы макрос скопировал данные в строке 6 и столбце H, т.е. H6.
Если я выбрал G14, макрос скопирует данные в ячейку H14 и т.д.
Пример: я выбрал любую строку и любой столбец, скажем, D6. Данные, которые я ищу, находятся в столбце H. Итак, я хочу, чтобы макрос скопировал данные в строке 6 и столбце H, т.е. H6.
Если я выбрал G14, макрос скопирует данные в ячейку H14 и т.д.
Range("H" & ActiveCell.Row).Copy
ActiveCell.PasteSpecial
вызвать его на Worksheet_SelectionChange
если вы хотите использовать только значение, просто назначьте
Range("H" & ActiveCell.Row).Value
к переменной и использовать ее в своих расчетах и вернуть, где вы будете
Private Sub Worksheet_BeforeDoubleClick(ByVal Target As Range, Cancel As Boolean)
If Not Intersect(Target, Range("U:U")) Is Nothing Then
Cancel = True
If Application.CountIf(Sheets("AA").Range("L:L"), Target.Value) = 0 Then
Cells(Target.Row, 12).Value = Target.Value
End If
End If
End Sub
У вас было несколько дней, поэтому, возможно, вы уже достигли ответа, но, расширяя уже предложенный ответ, я думаю, что приведенное ниже сделает то, что вы просите:
Sub CopyFromColH()
'Save the current location
Dim TargetCell As Range
Set TargetCell = ActiveCell.Range("A1")
'Copy from same row in H
Cells(ActiveCell.Row, 8).Select
Selection.Copy
'Paste to original location, as saved above
TargetCell.Select
ActiveSheet.Paste
End Sub
Я написал макрос для этого. Он всегда копирует выбранную ячейку и вставляет данные в столбец H в той же строке.
Sub NewMacro()
Selection.Copy
Cells(ActiveCell.Row, 8).Select
ActiveSheet.Paste
End Sub