首页 文章

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

提问于
浏览
1

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

这是我用于从表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 回答

  • 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
    
  • 0

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

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

相关问题