Application.Input框输入复制和粘贴选项的范围

时间:2015-08-03 02:47:40

标签: excel vba excel-vba

我一直在尝试从一张纸张复制并粘贴到另一张纸张,因此应使用粘贴链接功能复制单元格,同时使用输入框让用户输入要粘贴复制数据的范围。代码在同一个工作表中工作,但不在另一个工作表中工作。即使它有效,它也无法识别我在输入框中输入的范围。相反,它识别光标在目标工作表中的光标和粘贴。

这是我用于从表1到表2复制和粘贴的代码。代码是否有任何问题导致它无法识别我在输入框中输入的范围?

Sub tryuserinput()


Dim rng As Range
Dim inp As Range

Selection.Interior.ColorIndex = 37
Set inp = Selection

Set rng = Application.InputBox("Copy to", Type:=8)
inp.Copy

rng.Select

Worksheets("Sheet2").Paste Link:=True

End Sub

2 个答案:

答案 0 :(得分:1)

这是你在尝试的吗?

Sub Sample()
    Dim rng As Range, inp As Range

    '~~> Check if what the user selected is a valid range
    If TypeName(Selection) <> "Range" Then
        MsgBox "Select a range first."
        Exit Sub
    Else
        Set inp = Selection
        inp.Interior.ColorIndex = 37
    End If

    Set rng = Application.InputBox("Copy to", Type:=8)

    If Not rng Is Nothing Then
        rng.Parent.Activate
        rng.Select

        inp.Copy
        ActiveSheet.Paste Link:=True
    End If
End Sub

答案 1 :(得分:0)

修改是因为......我没有研究过。在其他工作表中选择范围后,只需使用此行代码即可。

inp.Copy Destination:=ThisWorkbook.Sheets("Sheet2").Range(rng.Address)