gpt4 book ai didi

vba - 引用最近添加的工作表

转载 作者:行者123 更新时间:2023-12-04 20:06:26 24 4
gpt4 key购买 nike

我有一个用户表单,其中包含用户的输入以在工作簿中执行某些操作,其中一个操作是在工作簿中插入新选项卡并让用户在输入框中输入新工作表的名称。然后我希望能够引用这个新工作表(但我不知道其他人可能会给它起什么名字)并将图表对象粘贴到新创建的工作表中。

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

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”)中,每当用户在用户窗体中选择此 OptionButton2 时,我都试图将其复制到新创建的工作表中......感谢任何帮助。

最佳答案

当您使用 Worksheets.Add方法,该工作表会自动激活。要对此进行测试,您可以运行一小部分代码:

Option Explicit

Private Sub SheetReference()

Worksheets.Add(After:=Worksheets(Worksheets.Count)).Name = "Test"
Debug.Print ActiveSheet.Name

End Sub

你会看到的输出是
Test
因此,在您的情况下,您可以声明 worksheet变量,然后在调用 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

关于vba - 引用最近添加的工作表,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/31661912/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com