当前位置: 首页 > news >正文

VBA代码解决方案第二十六讲:如何新建EXCEL工作簿文件

《VBA代码解决方案》(版权10028096)这套教程是我最早推出的教程,目前已经是第三版修订了。这套教程定位于入门后的提高,在学习这套教程过程中,侧重点是要理解及掌握我的“积木编程”思想。要灵活运用教程中的实例像搭积木一样把自己喜欢的代码摆好。

这套教程共三册,一百四十七讲,内容覆盖较广,也是初级和中级间的过渡教程,改版后的内容主要是提供程序源码文件及代码修正为32位和64位兼用代码。今后一段时间会给大家陆续推出。今日的内容是VBA代码解决方案第二十六讲:如何新建EXCEL工作簿文件

【分享成果,随喜正能量】189 小小的善业,能赢来大的利益,小小的恶业,同样也能招致严重的后果。这正如古语所云:“莫以善小而不为,莫以恶小而为之。。

第二十六讲 如何新建EXCEL工作簿文件

各位好,今日我们讲VBA代码的第26讲,如何新建EXCEL工作薄文件。对于工作薄的解释,我们在之前的文章中已经讲解过,要再复习一下,同时要注意工作薄和工作表的概念。工作薄是文件,工作表是工作薄的工作页。在VBA中使用Add方法新建工作簿。

1 使用Workbooks对象的Add方法创建新工作簿

使用Workbooks对象的Add方法创建新工作簿,其语法为:

Workbooks对象.Add(Template)

参数Template可选,确定如何创建新工作簿。如果该参数指定的字符串是已有的Excel文件名,那么使用指定的文件作为模板创建新工作簿。如果该参数指定为xlWBATemplate常量之一,则新工作簿包含单个指定类型的工作表。如果忽略该参数,那么新工作簿包含标准的空工作表,可以使用SheetsInNewWorkbook属性设置工作表数。

xlWBATemplate常量为:xlWBATChart,xlWBATExcel4IntlMacroSheet,xlWBATExcel4MacroSheet,xlWBATWorksheet。分别代表图表工作表、宏工作表以及标准工作表。

2 新建EXCEL工作簿文件的实例代码及代码解读

下面我们来详细讲解一下如何创建工作薄文件,如下面的代码所示:

Sub mynz_26() '第26讲 如何新建EXCEL工作簿文件

Dim Nowbook As Workbook

Dim ShName As Variant

Dim Arr As Variant

Dim i As Integer

Dim myNewWorkbook As Integer

myNewWorkbook = Application.SheetsInNewWorkbook

ShName = Array("余额数", "单价数", "数量", "金额数")

Arr = Array("1月", "2月", "3月", "4月", "5月", "6月", "7月", "8月", "9月", "10月", "11月", "12月")

Application.SheetsInNewWorkbook = 4

Set Nowbook = Workbooks.Add

With Nowbook

For i = 1 To 4

With .Sheets(i)

.Name = ShName(i - 1)

.Range("B1").Resize(1, UBound(Arr) + 1) = Arr

.Range("A2") = "品名"

End With

Next

.SaveAs Filename:=ThisWorkbook.Path & "\" & "库存.xlsx"

.Close Savechanges:=True

End With

Set Nowbook = Nothing

Application.SheetsInNewWorkbook = myNewWorkbook

End Sub

代码窗口:

代码解析:mynz_26()过程使用Add方法建立新的工作簿并对新建工作簿进行操作。

1) 第2行到第6行代码声明变量类型。

2) 第7行代码保存Excel自动插入到新工作簿中的工作表数目。

3) 第8、9行代码将数组元素赋值给变量。

4) 第10行代码将Application对象的SheetsInNewWorkbook属性设置为4,表示在新建工作簿时插入4张工作表。

5) 第11行代码使用Add方法建立新的工作簿,应用于Workbooks对象的Add方法新建工作簿,新建的工作簿将成为活动工作簿。

6) 第12行到第22行代码操作新建工作簿。

7) 第15行到第17行代码将新建工作簿的工作表进行重命名并给单元格赋值。

8) 第20行代码使用SaveAs方法将新建工作簿重命名为“库存.xls”保存在同一目录中。

9) 第21行代码使用Close方法关闭工作簿。

10) 第24行代码恢复工作簿的默认设置。

代码的运行结果:新添了文件“库存”,内容如下:

今日内容回向:

1 ADD方法是什么?

2 .Range("B1").Resize(1, UBound(Arr) + 1) = Arr 是什么意义?

本讲内容参考程序文件:VBA代码解决方案修订(1-48).xlsm

我20多年的VBA实践经验,全部浓缩在下面的各个教程中:



http://www.lqws.cn/news/583345.html

相关文章:

  • Windows Excel文档办公工作数据整理小工具
  • 飞纳台式扫描电镜能谱一体机:元素分析与高分辨率成像的完美结合
  • FPGA实现CameraLink视频解码转SDI输出,基于LVDS+GTX架构,提供2套工程源码和技术支持
  • 如何读取运行jar中引用jar中的文件
  • GitHub Actions 入门指南:从零开始自动化你的开发流程
  • Redis中的缓存击穿、缓存穿透和缓存雪崩是什么?
  • 如何提升 iOS App 全链路体验?从启动到退出的优化调试流程
  • 2025群晖NAS新品:Plus系列性能升级,2.5GbE网络标配成亮点
  • Prompt:提示词工程
  • DDL-8-小结
  • C语言之文件操作详解(文件打开关闭、顺序/随机读写)
  • Apache Doris Profile 深度解析:从获取到分析,解锁查询性能优化密码
  • 离线环境安装elk及设置密码认证
  • ChatGPT、DeepSeek等大语言模型助力高效办公、论文与项目撰写、数据分析、机器学习与深度学习建模等科研应用
  • ffmpeg 安装 windows ubuntu
  • RPC-Client模块
  • ERP系统Bug记录
  • 创客匠人解析强 IP 时代创始人 IP 打造的底层逻辑与破局之道
  • Redis 实现消息队列
  • 如何在Vue3中正确使用ref和reactive?
  • 详解Kafka如何保证消息可靠性
  • 海康相机总是抓取前一帧图像
  • 基于MATLAB的SVM支持向量机的乳腺癌分类方法应用
  • docker安装RabbitMQ,创建RabbitMQ容器
  • Reactor 瞬态错误
  • 企业自建云概念解读|私有云、专有云、混合云、分布式云、企业云
  • go 语言大小写SpecialCase转换
  • window显示驱动开发—全屏模式
  • [论文阅读] Neural Architecture Search: Insights from 1000 Papers
  • Apache Seata < 2.3.0 raft反序列化漏洞