【VBA编程】09.使用Excle集合对象
使用Workbooks工作簿集合、工作簿对象、工作表集合、工作表对象,并且观察使用Add方法前后工作簿与工作表数目的变化
【代码区域】
Sub 测试集合工作簿()
Dim wbs As Workbooks '保存工作簿集合
Dim wb As Workbook '保存工作簿对象
Dim ws As Worksheet '保存工作表对象
Dim wbscount As Integer '保存工作簿集合中对象数目
Dim wscount As Integer '保存工作表集合中的对象数目
Dim i As Integer
Set wbs = Application.Workbooks '获取当前工作簿数目
wbscount = wbs.Count '获取工作簿集合中的元素
Debug.Print
Debug.Print "添加工作簿之前,工作簿的数目为:" & wbscount
Debug.Print "添加前各工作簿名称如下:";
For Each temp In wbs
Debug.Print temp.Name & " ";
Next
wbs.Add '向工作表中添加元素
wbscount = wbs.Count
For i = To '换行
Debug.Print
Next
Debug.Print "添加工作簿之后,工作簿的数目为:" & wbscount
Debug.Print "添加后各工作簿名称如下:";
For Each temp In wbs
Debug.Print temp.Name & " ";
Next
Set wb = Workbooks()
wb.Activate
For i = To
Debug.Print
Next
Debug.Print "添加工作簿之后集合中的第二个成员为:" & wb.Name
wsscount = wb.Sheets.Count
For i = To
Debug.Print
Next
Debug.Print "添加工作表之前,工作簿的数目为:" & wbscount
Debug.Print "添加前各工作表名称如下:";
For Each temp In wb.Worksheets
Debug.Print temp.Name & " ";
Next
wb.Worksheets.Add
Set ws = wb.Worksheets()
For i = To
Debug.Print
Next
Debug.Print "添加工作表之后集合中的第一个成员为 :" & ws.Name
wsscount = wb.Worksheets.Count
For i = To
Debug.Print
Next
Debug.Print "添加工作表之后,工作表的数目为:" & wbscount
Debug.Print "添加后前各工作簿名称如下:";
For Each temp In wb.Worksheets
Debug.Print temp.Name & " ";
Next
End Sub
【场景描述】
已经打开的工作表

【立即窗口】
立即窗口打印结果
添加工作簿之前,工作簿的数目为:
添加前各工作簿名称如下:VBA.xlsm 添加工作簿之后,工作簿的数目为:
添加后各工作簿名称如下:VBA.xlsm 工作簿1 添加工作簿之后集合中的第二个成员为:工作簿1 添加工作表之前,工作簿的数目为:
添加前各工作表名称如下:Sheet1 添加工作表之后集合中的第一个成员为 :Sheet2 添加工作表之后,工作表的数目为:
添加后前各工作簿名称如下:Sheet2 Sheet1
【结果展示】

已经新建了工作簿1


并且已经在工作簿1中新增sheet2
【VBA编程】09.使用Excle集合对象的更多相关文章
- 【VBA编程】10.自定义集合
自定义集合类型,类似于变量声明,只是要将Dim关键字和New collection关键字搭配起来使用,其语法描述如下:其中集合名的命名方式同于标准变量的命名 Dim 集合名 As New collec ...
- VBA编程的工程性规划
看过很多人写的VBA代码,一团一团的,一点规划都没有,为了VBA编程更具工程性,这里讨论一下,并列出自己的一些建议:0.给VBA工程定义一个名字,而非直接使用默认的名称——"VBAProje ...
- vba编程基础2
安装office2010的时候, 最好是 完全安装/完整安装 , 这样可以查阅 excel的 "帮助文档" 帮助文档中包含了更多的/更详细的 参考信息. 普通模块无事件, 只有 子 ...
- vba编程基础1
在主要的编程语言中, 结构体是用大括号来表示 代码段的 范围 界定的. 但是在一些比较"老的"语言中,由于历史原因, 还是使用的 是: 关键字来进行界定代码 的 结构段, 如vba ...
- VBA编程常用词汇英汉对照表
表 20‑1到表 20‑8是VBA编程中使用频率最高的英文单词,按字母排序.词性列中,a表示形容词,n表示名词,v表示动词,p表示介词以及其他词性. 表 20‑1 VBA编程常用词汇表 单词 中文 词 ...
- 处理Selection对象和Range对象——Word VBA中重要的两个对象
处理Selection对象和Range对象——Word VBA中重要的两个对象 Word 开发人员参考Selection 对象代表窗口或窗格中的当前所选内容.所选内容代表文档中选定(或突出显示)的区域 ...
- 使用Excel VBA编程将网点的百度坐标转换后标注到高德地图上
公司网点表存储的坐标是百度坐标,现需要将网点位置标注到高德地图上,研究了一下高德地图的云图数据模版 http://lbs.amap.com/yuntu/reference/cloudstorage和坐 ...
- JS中集合对象(Array、Map、Set)及类数组对象的使用与对比
原文地址 在使用js编程的时候,常常会用到集合对象,集合对象其实是一种泛型,在js中没有明确的规定其内元素的类型,但在强类型语言譬如Java中泛型强制要求指定类型. ES6引入了iterable类型, ...
- SpringMVC接收复杂集合对象(参数)代码示例
原文: https://www.jb51.net/article/128233.htm SpringMVC接收复杂集合对象(参数)代码示例 更新时间:2017年11月15日 09:18:15 作者 ...
随机推荐
- UVA 12284 Digital Matrix
思路:这个分清楚情况就很好做了. 注意一点当A的转置等于B的时候(对角线除外),记录A的下三角(或上三角)有cnt个的数与B不同,如果cnt>1则 不需要额外的步数就可以了,否则当k==2时结果 ...
- Spring中与Spring相关的注解
# 一.Spring的常用组件类注解 ## @Component 被该注解所修饰的类是一个普通的spring bean类,该注解可以替代@Controller.@Service.@Reposi ...
- 最近公共祖先 LCA 倍增法
[简介] 解决LCA问题的倍增法是一种基于倍增思想的在线算法. [原理] 原理和同样是使用倍增思想的RMQ-ST 算法类似,比较简单,想清楚后很容易实现. 对于每个节点u , ancestors[u] ...
- win7 64位 php环境开启curl服务Call to undefined function
无法使用curl_init(),一般情况问题可能出在没有去加载php的扩展文件php_curl.dll(windows操作系统),但是检查了一下系统配置,发现,环境下已经将php.ini文件里 ;ex ...
- Ubuntu 16.04安装OpenVPN客户端GUI
说明:一般来说OpenVPN在Linux下都是基于命令行的,而Ubuntu可以通过安装扩展放在网络连接上实现GUI操作. 安装: sudo apt-get install openvpn sudo a ...
- 让SignalR客户端回调支持强类型
几天写一个小程序的时候用到了SignalR,发现现在SingalR Server 支持强类型了,也就是说,我们可以定义一个客户端的通知契约: public interface IClient { ...
- 一劳永逸的搞定 flex 布局
一劳永逸的搞定 flex 布局 寻根溯源话布局 一切都始于这样一个问题:怎样通过 CSS 简单而优雅的实现水平.垂直同时居中.记得刚开始学习 CSS 的时候,看到 float 属性不由得感觉眼前一亮, ...
- IIS服务器80端口却已被占用的问题
一.问题背景 在IIS中发布一个asp网站,发现无法使用80端口,错误为“无法启动该网站.其它网站可能正在使用同一端口”.但其实IIS的其它网站已经没有使用该端口了.这就需要设计到,找到那个进程占用这 ...
- Sqlserver__数据表排序记录和界面显示排序记录不一致的问题
背景: 数据表中有编号为1-20的20条记录,有一个排序字段OrderIndex, 其中1/3为0,1/3为1,1/3为2 现象: 每次在sqlserver执行OrderIndex ...
- Tesseract训练中文字体识别
注:目前仅说明windows下的情况 前言 网上已经有大量的tesseract的识别教程,但是主要有两个缺点: 大多数比较老,有部分内容已经不适用. 大部分只是就英文的训练进行探索,很少针对中文的训练 ...