百度360必应搜狗淘宝本站头条
当前位置:网站首页 > 技术文章 > 正文

Excel如何获取所有类型的工作表,详细编程方法介绍

zhezhongyun 2025-07-20 00:00 3 浏览

No.1

Excel可以创建不同类型的工作表,编程中会遇到返回某一类型的工作或所有类型的工作表,对表进行操作,那么如何得到想要的工作表呢?下面介绍一个方法。

首先要认识一下Sheets对象,它表示工作簿中所有工作表的集合。

工作表类型包括:工作表(Worksheet)、图表(Chart)、对话框(DialogSheet)等。

可在工作表名选项卡右击鼠标,插入相关类型的工作表。

如下图所示:

No.2

Sheets对象的属性和方法:

可使用Sheets.Add方法添加一个工作表。

Copy方法复制一个工作表。

Delete删除工作表。

Move移动工作表。

PrintOut打印工作表。

Select选择工作表。

具体如何操作不在本节介绍范围,下面主要讲解,如何获取所有工作表。

No.3

如上图所示,自动提取工作表类型和名称分别显示在单元格中。

本例创建了8个工作表,类型列中可看到工作表不同的分类。

单击按钮完成上述操作,下面看一下代码过程。

Private Sub GetSheets()
ActiveSheet.Cells(1, 1).Offset(1, 0).Resize(Cells.Rows.Count - 1, Cells.Columns.Count).Clear
Dim cell As Range, Carr, Narr, sn As Integer, i As Integer
sn = ThisWorkbook.Sheets.Count
ReDim Carr(0 To sn)
ReDim Narr(0 To sn)
Dim s As Object
For Each s In ThisWorkbook.Sheets'遍历工作表
    Carr(i) = TypeName(s)
    Narr(i) = s.Name
    i = i + 1
Next s
Set cell = ActiveSheet.Range("B3")
Set cell = cell.Resize(sn, 1)
cell.Value = Application.WorksheetFunction.Transpose(Carr)
With cell.Offset(0, -1)
    .Formula = "=row()-2"
    .RowHeight = 25
End With
With cell.Offset(0, 1).Resize(sn, 1)
    .Value = Application.WorksheetFunction.Transpose(Narr)
End With
Dim FiledsArr
FiledsArr = Array("序号", "表类型", "表名")
With cell.Offset(-1, -1).Resize(1, 3)
    .Value = FiledsArr
    .Interior.Color = RGB(22, 222, 255)
    .RowHeight = 25
    .Borders.Item(xlEdgeBottom).LineStyle = 1
End With
End Sub

如上代码,似乎有点太多,但大多没有什么意义。

所以只要明白下面这几行代码,就对本节内容明白了。

For Each s In ThisWorkbook.Sheets'遍历工作表
    Carr(i) = TypeName(s)'保存工作表类型到数组Carr
    Narr(i) = s.Name'保存工作表名到数组Narr
    i = i + 1
Next s

总体来说Sheets是一个不错的对象,在对表进行处理的时候会用到。

而且肯定会用到,只不过通常Excel会默认为当前工作表,即ActiveSheet。

掌握更多VBA知识,欢迎关注、收藏。

相关推荐

Qt setAttribute设置窗口属性(qt设置窗口名字)

this->resize(500,400);this->setWindowTitle("主窗口");QLabel*label=newQLabel(...

利用Axure+js创建可配置地图页面(axure制作app界面)

编辑导语:如何利用Axure实现自定义地图展示?本篇文章里,作者结合Axure与高德地图,对如何在Axure中设置相应参数、进而预览时实现自定义地图展示效果的操作流程进行了示范和总结,一起来看一下。本...

Excel如何获取所有类型的工作表,详细编程方法介绍

No.1Excel可以创建不同类型的工作表,编程中会遇到返回某一类型的工作或所有类型的工作表,对表进行操作,那么如何得到想要的工作表呢?下面介绍一个方法。首先要认识一下Sheets对象,它表示工作簿中...

VBA中的常用单元格引用方式(vba中单元格的引用方法)

VBA编程经常和“对象”打交道,其中最频繁的对象大概就是“单元格”了。(听说您还没有对象?那……我想你大概需要一份Excel,包邮988……)今天我们就来聊一下单元格的各种引用方式,比如单个单元格、行...

强烈安利试试这个!效果爆炸的漫画变身AI,火到服务器几度挤爆

金磊丰色发自凹非寺量子位报道|公众号QbitAI“排队1241人,等待2600秒……”——这届网友为了看一眼自己在动漫里的样子,可真是拼了!“始作俑者”是一款可以把人像变动漫的生成器。只...

软网推荐:为窗口控制菜单添加扩展控制命令

当我们点击Windows标准窗口(如记事本、资源管理器等)左上角的窗口控制按钮时,会弹出一个含有窗口控制基本命令的菜单,其中包括移动、大小、最小化、最大化、关闭等窗口控制命令。如果我们觉得这些命令不能...

45、VBA字典去重,两种不同的方法在实战中的运用(VBA进阶)

1、在VBA字典去重的操作中,若程序仅需要使用key值,那么无论采用哪种方法都不会有问题;但如果需要获得对应的item值,就必须根据实际需求选择合适的方法了。学VBA要知其然而知其所以然,不能似懂非懂...

Excel VBA学习笔记:合并单元格的相关操作

合并单元格,一个在工作中很常见的,但是是令写(工作表)公式和VBA代码的人都很不喜欢的东东,今天来讲讲与它相关的操作语法。1、Range("A1:B2").Merge;合并A1到B2单...

软网推荐:图片编辑 小而不凡(秽的读法)

说起图片编辑小工具,咱手边就有个“画图”软件。但是,这个工具比较简单,对于处理透明背景、应用滤镜效果、添加边框、做拼接图和全景照、图层操作等,就无能为力了。同样是小软件,PhotoPad就能满足上述需...

Android弹软键盘时之ListView的变化控制

前几天有个人问我,说在最底下有个输入框,弹出键盘时整个界面都一起跟着移动,上面的标题栏都移到上面看不到了,界面非常难看。其实这种问题一般存在于这样的界面布局中那就是,上面是标题栏,中间是Listvie...

如何将数组值传递到工作表中(怎么传数组)

【分享成果,随喜正能量】不与别人盲目攀比,自己就会悠然自得;不把人生目标定得太高,自己就会欢乐常在;不刻意追求完美,自己就会远离痛苦;不是时时苛求自己,自己就会活的自在;不每每吹毛求疵,自己就会轻轻松...

【VBA入门必备】Offset和Resize这样用,工作效率翻3倍!

大家好!今天共同学习下VBA中单元格属性Offset和Resize操作。一、Offset:单元格的"导航仪"功能说明:以当前单元格为坐标原点,灵活跳转位置语法格式:单元格.Offset...

50道阿里巴巴MySql经典面试题(附答案)

1、MySQL中有哪几种锁?1、表级锁:开销小,加锁快;不会出现死锁;锁定力度大,发生锁冲突的概率最高,并发度最低。2、行级锁:开销大,加锁慢;会出现死锁;锁定粒度最小,发生锁冲突的概率最低,并发度...

如何在Vue3项目中集成ESLint+Prettier+Stylelint+Husky?

随着前端工程化的发展,前端代码规范也显得越来越重要,所以作为一个前端对于这方面还是需要有一定的了解的。本篇文章将带大家使用ESLint+Prettier+Stylelint+Husky从零搭建一个Vi...

SpringBoot 中 Json 格式化配置(springboot json转对象)

SpringBoot针对jackson是自动化配置的,如果需要修改,也可以自定义配置。0x01:通过application.yml配置属性说明:spring.jackson.date-form...