vba中怎么在桌面新建工作簿(给工作簿创建目录)
vba中怎么在桌面新建工作簿(给工作簿创建目录)首先,在工程管理器中,右键单击模块名“ThisWorkbook”,选择“查看代码”,如下图:要隐藏多余的工作表,须做两项工作。返回工作表,点击单元格,即可激活名称相同的工作表,与点击工作表标签效果相同。实际使用中,还需加入一些代码,判断单元格是否为空,单元格是否在规定范围之内等,见附件。⑵、隐藏多余的工作表。
为工作簿创建目录,方法有多种,下面介绍使用VBA的方法。
⑴、点击单元格,激活相同名称的工作表。
右键点击“目录”工作表标签,选择“查看代码”,将下面的代码粘贴到光标处:
- Private Sub Worksheet_SelectionChange(ByVal Target As Range)
- Sheets(Target.Value).Activate '激活相同名称的工作表
- End Sub
复制代码
返回工作表,点击单元格,即可激活名称相同的工作表,与点击工作表标签效果相同。
实际使用中,还需加入一些代码,判断单元格是否为空,单元格是否在规定范围之内等,见附件。
⑵、隐藏多余的工作表。
要隐藏多余的工作表,须做两项工作。
首先,在工程管理器中,右键单击模块名“ThisWorkbook”,选择“查看代码”,如下图:
将下面的代码粘贴到光标处:
- Private Sub Workbook_SheetDeactivate(ByVal Sh As Object)
- If Sh.Name <> "目录" Then Sh.Visible = 2 '如果工作表标签不是“目录”,则隐藏它
- End Sub
如果你的工作表标签不是“目录”,而是“主界面”或其它,代码中应根据实际作修改。
第二步,在上面代码中“Sheets(Target.Value).Activate ”前面插入一行:
Sheets(Target.Value).Visible = 1 '取消隐藏,显示工作表
效果见附件:
⑶、隐藏目录工作表。
在各工作表适当的地方,设置一个内容为“返回目录”的单元格,为了点击这个单元格,能够激活目录工作表,将下面的代码粘贴到模块“ThisWorkbook”下:
- Private Sub Workbook_SheetDeactivate(ByVal Sh As Object)
- Sh.Visible = 2 '隐藏非活动状态的工作表
- End Sub
- Private Sub Workbook_SheetSelectionChange(ByVal Sh As Object ByVal Target As Range)
- If Target.Count = 1 And Target.Range("a1") = "返回目录" Then '如果点击的单元格内容为“返回目录”
- Target.Offset(1).Activate
- Sheets("目录").Visible = 1 '将目录工作表取消隐藏
- Sheets("目录").Activate '激活目录工作表
- End If
- End Sub
⑷在目录中插入图片
建立目录时,不少人喜欢使用图片链接各工作表。
实际操作时,右键点击图片,选择“超链接”,链接的目标不要选择工作表,而是图片下面对应文字所在的单元格。
这个小技能,大家学会了吗。欢迎大家留言并关注一下,谢谢支持!