使用VBA和列表复制粘贴

我对VBA相当陌生,找不到解决我的后续问题的正确方法。

我有一个Excel工作簿5工作表。 最后3张工作表中充满了数据,而第一张工作表是其中最后3张工作表名称的列表。 我希望当我在列表上select其中一个工作表的名称时,它被粘贴到第二个空的工作表上。

比方说,我select列表中的工作表4,工作表2现在是工作表4的复制粘贴。

将其粘贴到Sheet1的代码模块中。
改变这些:

  1. Sheet2Name
  2. Sheet1NamesListAddress
  3. 新名字
    Private Sub Worksheet_SelectionChange(ByVal Target As Range) Const Sheet2Name = "Sheet2" Const Sheet1NamesListAddress = "A1:A10" Const NewName = "New Name" If Not Intersect(ActiveCell, Range(Sheet1NamesListAddress)) Is Nothing Then Application.DisplayAlerts = False On Error Resume Next Sheets(Target.Text).Copy Before:=Sheets(2) ThisWorkbook.Worksheets(Target.Text).Delete Sheets(2).Name = NewName Application.DisplayAlerts = False On Error GoTo 0 End If End Sub