网站首页 > 博客文章 正文
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知识,欢迎关注、收藏。
猜你喜欢
- 2025-01-26 Qt——常用控件(qtcreator控件)
- 2025-01-26 Flet 布局控件:ft.Page(页面),是根容器,是控件的容器View
- 2025-01-26 33个非常实用的JavaScript一行代码,建议收藏
- 2025-01-26 XtraReport控件VS微软RDLC报表,谁更胜一筹?
- 2025-01-26 Google官方梳理,Android 多返回栈技术详解
- 2025-01-26 Python入坑系列-pyside6桌面开发之QmainWindow自定义标题栏
- 2025-01-26 「3D建模」3Dmax快捷键大全(3dmax建模常用快捷键)
- 2025-01-26 第3天 | 28天学会PyQt5,基本窗口
- 2025-01-26 有办法了!批量删除多个Word页眉页脚
- 2025-01-26 鸿蒙开发:实现popup弹窗(鸿蒙系统没弹幕)
你 发表评论:
欢迎- 367℃用AI Agent治理微服务的复杂性问题|QCon
- 360℃手把手教程「JavaWeb」优雅的SpringMvc+Mybatis整合之路
- 358℃初次使用IntelliJ IDEA新建Maven项目
- 351℃Maven技术方案最全手册(mavena)
- 348℃安利Touch Bar 专属应用,让闲置的Touch Bar活跃起来!
- 346℃InfoQ 2024 年趋势报告:架构篇(infoq+2024+年趋势报告:架构篇分析)
- 345℃IntelliJ IDEA 2018版本和2022版本创建 Maven 项目对比
- 342℃从头搭建 IntelliJ IDEA 环境(intellij idea建包)
- 最近发表
- 标签列表
-
- powershellfor (55)
- messagesource (56)
- aspose.pdf破解版 (56)
- promise.race (63)
- 2019cad序列号和密钥激活码 (62)
- window.performance (66)
- qt删除文件夹 (72)
- mysqlcaching_sha2_password (64)
- ubuntu升级gcc (58)
- nacos启动失败 (64)
- ssh-add (70)
- jwt漏洞 (58)
- macos14下载 (58)
- yarnnode (62)
- abstractqueuedsynchronizer (64)
- source~/.bashrc没有那个文件或目录 (65)
- springboot整合activiti工作流 (70)
- jmeter插件下载 (61)
- 抓包分析 (60)
- idea创建mavenweb项目 (65)
- vue回到顶部 (57)
- qcombobox样式表 (68)
- vue数组concat (56)
- tomcatundertow (58)
- pastemac (61)
本文暂时没有评论,来添加一个吧(●'◡'●)