复制和粘贴用户定义的范围

copying and pasting a user defined range

提问人:Rick T. 提问时间:10/30/2023 最后编辑:ProgmanRick T. 更新时间:10/30/2023 访问量:35

问:

我有一个电子表格,我在其中突出显示特定范围的值,运行宏并将所选单元格粘贴为用户定义范围内的值。

以下代码有效,采用用户选择的区域,并将其粘贴到同一工作簿的另一部分。

Sub copypaste2()

Selection.Copy

Range("e22").Select

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

我想使用输入框来选择要复制所选内容的单元格;单元格“e22”可能不可用,我需要在电子表格中多次执行此功能。

提前感谢您的帮助!!

Excel VBA 复制粘贴

评论

0赞 Rick T. 10/30/2023
非常感谢您的新代码!完全根据需要工作!!

答:

0赞 taller 10/30/2023 #1
  • 用户单击按钮返回 False,忽略错误。CancelInputBoxOn Error Resume Next
Option Explicit

Sub copypaste2()
    Dim rCell As Range, rSel As Range
    Set rSel = Selection
    On Error Resume Next
    Set rCell = Application.InputBox("Please select a cell", Type:=8)
    On Error GoTo 0
    If rCell Is Nothing Then Exit Sub
    rSel.Copy
    rCell.Cells(1).PasteSpecial Paste:=xlPasteValues, Operation:=xlNone, SkipBlanks:=False, Transpose:=False
End Sub

类型参数:

价值 描述
0 公式
1 一个数字
2 文本(字符串)
4 逻辑值(True 或 False)
8 单元格引用,作为 Range 对象
16 错误值,例如 #N/A
64 值数组

Microsoft 文档:

Application.InputBox 方法 (Excel)