引用最近添加的工作表

我有一个用户表单将用户的input字段在工作簿中进行某些操作,其中一个操作是在工作簿中插入一个新的选项卡,并让用户在input框中input新工作表的名称。 我希望能够引用这个新工作表(但我不知道其他人可能会命名它)并在新创build的工作表中粘贴一个图表对象。

到目前为止,添加表单代码工作正常,但我的任何尝试粘贴图表范围都不起作用。 我目前添加工作表的代码是:

Private Sub MyChart_Click() Dim Answer As String Dim sht_name As Variant On Error Resume Next If Me.OptionButton2.Value = True Then Unload Me sht_name = InputBox("Please enter value") If sht_name <> "" Then Worksheets.Add(After:=Worksheets(Worksheets.Count)).Name = sht_name Else Exit Sub End Sub 

我的图表生活在另一个工作表(“Sheet2”),我试图只是将其复制到新创build的工作表中,只要用户在用户窗体中select此OptionButton2 …任何帮助表示赞赏。

当您使用Worksheets.Add方法时,该表会自动激活。 为了testing这个,你可以运行这个小部分的代码:

 Option Explicit Private Sub SheetReference() Worksheets.Add(After:=Worksheets(Worksheets.Count)).Name = "Test" Debug.Print ActiveSheet.Name End Sub 

而你会看到的输出是

Test

所以在你的情况下,你可以声明一个worksheetvariables,然后在调用add method后设置引用。 像这样的东西:

 Option Explicit Private Sub MyChart_Click() Dim Answer As String Dim sht_name As Variant Dim ws As Worksheet On Error Resume Next If Me.OptionButton2.Value = True Then Unload Me sht_name = InputBox("Please enter value") If sht_name <> "" Then Worksheets.Add(After:=Worksheets(Worksheets.Count)).Name = sht_name Set ws = ActiveSheet With ws 'Do whatever you need to do on the worksheet End With Else Exit Sub End If End Sub