使用 VBA 在活动单元格中选择性粘贴

Paste Special in Active Cell using VBA

我想将工作表 2 中的 table(范围 A1 到 AV3)复制到工作表 1 中的活动单元格

我当前的代码是:

Private Sub CommandButton1_Click()
Worksheets("Sheet2").Range("A1:AV3").Copy
Worksheets("Sheet1).ActiveCell.PasteSpecial Paste:=xlPasteFormats
Worksheets("Sheet1").ActiveCell.PasteSpecial Paste:=xlPasteValues
End Sub

谁能帮我解决这个问题? 我希望每次单击按钮时,它都会复制到任何活动单元格。

假设您的 ActiveCell 在 "Sheet1" 中,命令按钮也在 "Sheet1" 中,则无需在 ActiveCell 之前添加 Worksheets("Sheet1") , 只需使用类似下面的代码:

Private Sub CommandButton1_Click()

Worksheets("Sheet2").Range("A1:AV3").Copy
ActiveCell.PasteSpecial xlPasteFormats
ActiveCell.PasteSpecial xlPasteValues

End Sub

我找到的最简单的方法是用我自己的宏替换 Ctrl+v。

    Sub Paste_Values()

    Selection.PasteSpecial Paste:=xlPasteValues, Operation:=xlNone, SkipBlanks _
        :=False, Transpose:=False

    End Sub

John 的建议非常适合我。

在列表的末尾,我添加了 xx,然后我使用 find xx 后跟 John 建议的字符串:

Sheets("Sheet 2").Select
Cells.Find(What:="xx", After:=ActiveCell, LookIn:=xlFormulas2, LookAt:= _
    xlPart, SearchOrder:=xlByRows, SearchDirection:=xlNext, MatchCase:=False _
    , SearchFormat:=False).Activate
Selection.PasteSpecial Paste:=xlPasteValues, Operation:=xlNone, SkipBlanks _
    :=False, Transpose:=False