vba跳转到指定工作表

就是执行这个宏后,跳出对话框,输入工作表名称,回车,就跳到该工作表

以下代码可以实现输入工作表名称,按回车或点击确定后跳转至当前工作簿的该工作表

Sub 跳转()

Dim sn As String
Dim x As Integer
sn = InputBox("请输入要跳转到的工作表的名字")

For i = 1 To Sheets.Count

If Sheets(i).Name = sn Then

Sheets(i).Activate
x = 1

End If

Next i

If x = 0 Then

MsgBox ("当前工作簿中没有以" & sn & "命名的工作表")

End If

End Sub

已上传附件,点击按钮即可验证

追问

我记得以前网上搜到的只有1行vba命令没那么复杂啊,现在找也找不到了

追答

因为要判断工作簿中是否存在该工作表,否则程序会报错

想要简单的可以直接用

Sub 跳转()

Sheets(InputBox("请输入要跳转到的工作表的名字")).Activate

End Sub

温馨提示:答案为网友推荐,仅供参考
第1个回答  2021-05-30
你好,首先我们打开一个工作样表作为例子。
2
/7
使用alt+f11组合快捷键进入vbe编辑器。
我们在编辑器中可以看到工程窗口中列出了活动工作薄中的所有工作表。
3
/7
使用vba首先要确定的就是作用工作表,也就是如何去选择正确的工作表才能对工作表中的数据进行操作。这里我们要分清楚工作表的指定方法。首先工作表的指定分为名称表示、序列表示、还有代号表示。下面详细讲解一下。
4
/7
这里的name是工作表的名称,如果需要使用名称指定,我们写vba代码的指定方式应该是sheets(name)。比如本例就应该是Sheets(“biaoge”)。记住名称需要用双引号括起来。
5
/7
如果是用序列方式指定,我们就需要使用下标方式,下标是按照工作表中由左向右的顺序进行排列,使用序列方式指定表格,下标数字不用双引号包括。
6
/7
最后一种是是用代号指定,代号指定最为简单,直接输入工作表的代号即可。但是需要注意的是,代号需要在vbe编辑器中修改(名称),其默认的是sheet1然后顺序递增。在Excel中有多个工作表,现在需要在其中一个工作表中(这里以“猪”这个工作表为例)插入一个命令按钮,点击按钮可以自动跳转到另外一个工作表中(这里以“鱼”为例)。
2
/6
首先,点击“开发选项”选项卡(如果没有开发选项,通过文件,选项,自定义功能区,找到并勾选“开发选项”即可),在点击“插入”,找到并点击“按钮”图表,如下图所示:
3
/6
然后在Excel编辑区中按下鼠标左键并拖动,松开鼠标后,会自动弹出一个如下图所示对话框,点击“新建”:
4
/6
此时会打开VBA编辑界面,在自动生成的代码中间添加如下代码:
Sheets("鱼").Activate
其中“鱼”为要跳转至的工作表名字,根据实际情况修改即可。
5
/6
关闭VBA编辑界面,返回Excel表格,可以看到当前工作表中多了一个命令按钮,如
6
/6
点击这个按钮,就会自动跳转至指定的工作表中仅供参考
相似回答