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