分享

VBA输入框选取指定工作表提取工作表名

 莫怜飘逸 2023-10-18 发布于广东

在写vba代码时,有时需要指定工作表执行某些代码,在已知工作表名的情况下,可以将工作表名写入变量存储起来使用,但实际有些工作表可能存在命名不固定的情况,这就导致需要频繁更改代码中的工作表名。

而我们其实可以通过InputBox方法使用输入对话框选取指定工作表来获取工作表名,这样就可以不用事先在代码中写入工作表名导致代码需要频繁调整,增强代码的通用性和可移植性。具体代码如下:

Sub 对话框选取指定工作表获取工作表名()
prompt = "请使用鼠标选取要获取表名的工作表(选取要获取工作表的任意单元格区域即可)"    '对话框内容
Title = "工作表选择对话框"     '对话框标题栏
defaults = ""      '文本框中的默认输入值
On Error GoTo -1 '配合"On Error GoTo XX"解决其单独使用只能处理一次报错的问题
On Error GoTo 取消选择   '错误处理语句。因为当对话框显示后,如果用户单击“取消”按钮,将显示一错误信息,所以必需使用On Error GoTo语句来绕过错误。
Set Rng = Application.InputBox(prompt, Title, defaults, , , , , 8) '使用Set语句将用户选择的单元格区域赋给变量rng。当Type参数设置为8时,将返回一个Range对象
On Error GoTo 0  '配合"On Error GoTo XX"中断错误处理语句,防止后续代码的报错无法提示
sheetname = Rng.Parent.Name '获取单元格区域所在工作表的名称
If Rng Is Nothing Then
取消选择:
    MsgBox "您选择了退出程序"
    End
End If
MsgBox "您选择的工作表表名为:" & sheetname
End Sub

以上内容对您有帮助可以分享或转藏,避免以后找不到。想要了解更多VBA相关知识,欢迎到http://moqingyan.360doc.com我的个人图书馆查看。

    转藏 分享 献花(0

    0条评论

    发表

    请遵守用户 评论公约

    类似文章 更多