如何让 Excel 宏从特定列和激活宏时选择的同一行复制数据?

如何让 Excel 宏从特定列和激活宏时选择的同一行复制数据?

示例:我选择了任意行和任意列,比如说 D6。我要查找的数据位于 H 列。因此,我希望宏复制第 6 行和 H 列(即 H6)中的数据。

如果我选择了 G14,则宏将复制单元格 H14 中的数据,等等。

答案1

 Range("H" & ActiveCell.Row).Copy
 ActiveCell.PasteSpecial

在 Worksheet_SelectionChange 上调用它

如果你只想使用值,只需分配

Range("H" & ActiveCell.Row).Value 

给一个变量,并在计算中使用它,然后返回

答案2

我为此编写了一个宏。它总是复制选定的单元格并粘贴同一行 H 列上的数据。

Sub NewMacro()
    Selection.Copy
    Cells(ActiveCell.Row, 8).Select
    ActiveSheet.Paste
End Sub

答案3

您已经有几天的时间了,所以可能已经找到了答案,但是扩展已经建议的答案,我认为下面的内容可以满足您的要求:

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

答案4

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

相关内容