公司的日本人喜欢用excel写文档, 并且喜欢用很多的sheet,

然而在excel中, 随着工作表数量的增加, 工作表的浏览和定位就会变得麻烦起来,

于是我便希望能找到一个方法, 可以更容易, 更直观(一眼看到更多的sheet名)的导航sheet.

为此, 我google了一下,解决方案有下面两个

方法1 Dave Peterson's Sheet Navigator Toolbar for Workbook Sheets

详细网址如下:

http://www.contextures.com/xlToolbar01.html

效果图如下:

这个教程讲解的比较详细, 不仅付有Sheet Navigator的代码,

同时还附有如何自定义一个toolbar, 如果自定义这个Sheet Navigator toolbar.

链接上还附有这个excel插件的下载,

为了防止链接失效, 我把这个addin下载转载到了附件中,

将其置于下面路径中便可以直接使用:

C:\Documents and Settings\<windows username>\Application Data\Microsoft\AddIns

同时, 这个插件还有一个excel 2007的版本, 他们的界面有所不同.

Sheet Navigator - List and Sort Excel Sheets - Excel 2007

方法2. Bob Phillips' BrowseSheets

其中的两个连接如下:

http://help.lockergnome.com/office/Macro-Sheet--ftopict715336.html

http://www.pcreview.co.uk/forums/selecting-workbook-worksheet-browse-button-t966990.html

我自定义了excel的快捷键, 去去执行这段脚本, 同时也为他, 在我自定义的toobar上面追加了一个按钮

他的效果图如下:

代码如下:

Sub BrowseSheets()
Const nPerColumn  As Long = 38          'number of items per column
Const nWidth As Long = 13                'width of each letter
Const nHeight As Long = 18              'height of each row
Const sID As String = "___SheetGoto"    'name of dialog sheet
Const kCaption As String = " Select sheet to goto"'dialog captionDim i As Long
Dim TopPos As Long
Dim iBooks As Long
Dim cCols As Long
Dim cLetters As Long
Dim cMaxLetters As Long
Dim cLeft As Long
Dim thisDlg As DialogSheet
Dim CurrentSheet As Worksheet
Dim cb As OptionButtonApplication.ScreenUpdating = FalseIf ActiveWorkbook.ProtectStructure ThenMsgBox "Workbook is protected.", vbCriticalExit SubEnd IfOn Error Resume NextApplication.DisplayAlerts = FalseActiveWorkbook.DialogSheets(sID).DeleteApplication.DisplayAlerts = TrueOn Error GoTo 0Set CurrentSheet = ActiveSheetSet thisDlg = ActiveWorkbook.DialogSheets.AddWith thisDlg.Name = sID.Visible = xlSheetHidden'sets variables for positioning on dialogiBooks = 0cCols = 0cMaxLetters = 0cLeft = 78TopPos = 40For i = 1 To ActiveWorkbook.Worksheets.CountIf i Mod nPerColumn = 1 ThencCols = cCols + 1TopPos = 40cLeft = cLeft + (cMaxLetters * nWidth)cMaxLetters = 0End IfSet CurrentSheet = ActiveWorkbook.Worksheets(i)cLetters = Len(CurrentSheet.Name)If cLetters > cMaxLetters ThencMaxLetters = cLettersEnd IfiBooks = iBooks + 1.OptionButtons.Add cLeft, TopPos, cLetters * nWidth, 16.5.OptionButtons(iBooks).text = _ActiveWorkbook.Worksheets(iBooks).NameTopPos = TopPos + 13Next i.Buttons.Left = cLeft + (cMaxLetters * nWidth) + 24CurrentSheet.ActivateWith .DialogFrame.Height = Application.Max(68, _Application.Min(iBooks, nPerColumn) * nHeight + 10).Width = cLeft + (cMaxLetters * nWidth) + 24.Caption = kCaptionEnd With.Buttons("Button 2").BringToFront.Buttons("Button 3").BringToFrontApplication.ScreenUpdating = TrueIf .Show ThenFor Each cb In thisDlg.OptionButtonsIf cb.Value = xlOn ThenActiveWorkbook.Worksheets(cb.Caption).SelectExit ForEnd IfNext cbElseMsgBox "Nothing selected"End IfApplication.DisplayAlerts = False.DeleteEnd WithEnd Sub

其他链接

Getting Started with Macros and User Defined Functions

http://dmcritchie.mvps.org/excel/getstarted.htm

Ron's Excel Tips

http://www.rondebruin.nl/tips.htm

Application Events

http://www.cpearson.com/excel/AppEvent.aspx

Events And Event Procedures In VBA

http://www.cpearson.com/excel/Events.aspx

Excel VBA: 工作表(Sheet)浏览导航插件相关推荐

  1. python做excel表格代码_python实现跨excel的工作表sheet之间的复制方法

    python,将test1的Sheet1通过"跨文件"复制到test2的Sheet2里面. 包括谷歌没有能搜出这种问题答案. 我们贴出代码. 我们加载openpyxl这个包来解决: ...

  2. python实现跨excel的工作表sheet之间的复制

    百度搜索问题:python复制Excel中的sheet到另外一个工作簿 其中一篇文章: 地址:https://blog.csdn.net/lingan_hong/article/details/727 ...

  3. python按照模板复制sheet页,python实现跨excel的工作表sheet之间的复制方法

    如何将某个Excel文件中的特定sheet复制到一个另一如何将某个Excel文件中的特定sheet复制到一个另一个Excel文件中去?小编给你倒一杯热水.可你惦记着其他饮料,所以你将它放置一旁.等你想 ...

  4. Excel·VBA工作表整列拆分为工作簿

    不同于<Excel·VBA按列拆分工作表.工作簿>按某列的值对工作表拆分,仅按固定列数拆分工作表单独保存为工作簿,类似于<Excel·VBA按行拆分工作表> Sub 工作表整列 ...

  5. VBA将excel中的多个工作表sheet合成一个工作表,多个工作簿的多个工作表合并为一个工作簿

    1 将excel中的多个工作表sheet合成一个工作表 工作表合成前: 工作表合成后: **第一步:**在文件中新建一个工作表sheet,用来存放合成后的数据,如图所示: 第二步:点击"开发 ...

  6. 【原创】怎样关联多个 Excel 档工作表(Sheet)中的数据

    怎样关联多个 Excel 档工作表(Sheet)中的数据 作者:寒羽枫 前不久,有位同事问我有没有办法将两个 Excel 档的数据通过工号整合起来.查阅资料后,得到以下经验,现拿出来与大家一起分享.有 ...

  7. Excel比较两个工作表(Sheet)的两组列数据,并返回相应数据

    近日有朋友问我有关于怎么比较Excel两个工作表(Sheet)的两组列数据的方法,老实说我对Excel并不是很清楚,对Excel的研究也公仅限于VBA而已,既然朋友开口问了,不好推脱动手就试试吧. 问 ...

  8. 将excel中的多个工作表sheet合成一个工作表

    上篇说到将excel中的一个工作表按照某列拆分成多个sheet工作表,那么如何把excel中的多个工作表sheet合成一个工作表呢?接下来就继续利用VBA工具来解决这个问题. 工作表合成前: 工作表合 ...

  9. vba工作表重命名_如何在Excel中重命名工作表选项卡

    vba工作表重命名 By default, worksheet tabs in Excel are given generic names, such as Sheet1, Sheet2, and s ...

最新文章

  1. 开始启动OPNsense的汉化工作
  2. c语言编程之求组合数的和,给定求组合数公式为:C(n,m)=m!/n!(m-n)!,编一程序,输入m和n的值 ,求C(n,m)的值...
  3. r型聚类典型指标_文献解读 | 缺陷和非缺陷型精神分裂症脑网络功能紊乱的共性和异性...
  4. NOIP2017提高组比赛总结
  5. java for循环 嵌套for循环-标签使用
  6. Spark入门(五)Spark SQL shell启动方式(元数据存储在derby)
  7. 复练-面试的科技树-企业人才需求和招聘流程
  8. Java基础知识回顾--网络编程基础
  9. 学java用什么编译器_学习Java用什么编译软件好
  10. 图吧工具箱2021最纯净的电脑硬件工具箱
  11. SNIC超像素分割python代码
  12. 阿里巴巴“牛逼”了,申请“行政干预”区块链专利
  13. 无觅相关文章插件主页新版推出
  14. 物联网毕业设计 单片机指纹识别考勤系统设计与实现
  15. 截取计算机全屏画面的方法有,全屏截图快捷键的快捷键是什么
  16. (免费分享)基于springboot,vue在线考试系统
  17. 商务培训计划汇报通用PPT模板
  18. 大一计算机实验报告免费复制,大一计算机实验报告_相关文章专题_写写帮文库...
  19. 滚动代码Marquee详解(html滚动显示文字)
  20. draggable拖拽组件的使用

热门文章

  1. 关于atom中apm 不能安装插件安装失败解决办法?
  2. 图鉴| IT男什么时候最虚伪?
  3. tools:ignore=“MissingConstraints“属性
  4. 省份、区域(华南,华北...)自定义颜色
  5. 偷学Python第十三天:字典的基本操作
  6. [229]python3的requests类抓取中文页面出现乱码的解决办法
  7. 西北工业大学 计算机学院 姜,姜学锋(计算机学院)老师 - 西北工业大学 - 院校大全...
  8. 携程连接服务器失败显示0048,携程网回应:携程服务器出故障期间可访问艺龙旅行网...
  9. latex 分页_latex 排版 首页不会换页
  10. 计算机二级C语言操作题怎么做?注意事项(难点易错点总结笔记)