VB读写EXCEL的小技巧
MSDN上关于操作EXCEL的内容非常全面,可是CSDN论坛上问这类问题的还是很多,而且大多回复多是采用访问EXCEL对象的CELLS接口来实现读写的,这样每处理一下数据都要访问一下CELLS,效率不高。其实MSDN上有更高效的方法,就是整体读入EXCEL指定区域相关内容到数组和将数组整体写入EXCEL指定象区域,这样读写都是一次性访问EXCEL相关对象,和前一种方法相比,整体效率提升非常大。下面是简单的示例代码:
' 本例来自论坛提问,因为写好这个代码时,该贴已结,所以放到这儿做个备忘
' 问题如下:
' EXCEL内容如下:
' A列
' 1 【题 名】论树立科学发展观,提升企业技术创新能力
' 2 【作 者】黄海
' 3 【机 构】不详
' 4 【刊 名】交通世界.2006(10B).-78-79
' 5
' 6
' 7
' 8
' 9 【题 名】畜牧业发展与科学技术
' 10 【作 者】段诚中
' 11 【机 构】四川省畜牧科学研究院研究员
' 12 【刊 名】农村养殖技术.2006(18).-5-5
' 13
' 14
' 15
' 16
' 17 【题 名】加快技术创新步伐 振兴纺织机械制造业
' 18 【作 者】无
' 19 【机 构】中国纺织机械器材工业协会, 100742
' 20 【刊 名】纺织机械.2006(5).-2-9
' 如上所写 , 在A列中, 有2000多个这样的格式数据
' 现在的目的是想把A列数据通过vba或函数,提取数据成为按列拆分.
' b c d e
' 题名 作者 机构 刊名
' 论树立科学... 黄海 不详 交通世界.2006(10B).-78-79
' 畜牧业发展与科学技术 段诚中 四川省畜牧科学研究院研究员 农村养殖技术.2006(18).-5-5
' 各位大哥怎么实现.跪地求,项目紧!!
' excel对象
Dim oExcel As Object
Dim oBook As Object
Dim oSheet As Object
Dim oRange As Object
Dim arrGet As Variant ' 读出EXCEL的数组
Dim arrPut As Variant ' 写入EXCEL的数组
Dim LastRow As Integer ' 最后一行
Dim r As Integer , c As Integer
Dim row As Integer
On Error GoTo App_Err:
Set oExcel = CreateObject ( " Excel.Application " )
Set oBook = oExcel.Workbooks.Open( " C: est.xls " )
Set oSheet = oBook.Worksheets( 1 )
oSheet.Activate
' 确定最后一行
Const xlCellTypeLastCell = 11
Set oRange = oSheet.UsedRange
oRange.SpecialCells(xlCellTypeLastCell).Activate
LastRow = oExcel.ActiveCell.row + 4
' 将内容读入数组
ReDim arrGet( 1 To LastRow, 1 )
arrGet = oSheet.Range( " A1 " ).Resize(LastRow, 1 )
' 拆分内容,并将内容读入另一数组
ReDim arrPut( 1 To LastRow / 8 + 1 , 1 To 4 )
arrPut( 1 , 1 ) = " 题名 "
arrPut( 1 , 2 ) = " 作者 "
arrPut( 1 , 3 ) = " 机构 "
arrPut( 1 , 4 ) = " 刊名 "
row = 2
For r = 1 To LastRow Step 8
For c = 0 To 3
arrPut(row, c + 1 ) = Split (arrGet(r + c, 1 ), " 】 " )( 1 )
Next c
row = row + 1
Next r
' 写入表格
oSheet.Range( " B1 " ).Resize(LastRow / 8 + 1 , 4 ).Value = arrPut
oBook.Save
MsgBox " ok "
oBook.Close
App_Exit:
Set oSheet = Nothing
Set oBook = Nothing
oExcel.Quit
Set oExcel = Nothing
Exit Sub
App_Err:
MsgBox Err.Description
Resume App_Exit
End Sub
注:也可用如下方式获取以使用的行和列:
r = oSheet.UsedRange.Cells.Rows.Count
c = oSheet.UsedRange.Cells.Columns.Count
VB读写EXCEL的小技巧相关推荐
- 未来教育计算机二级Excel解析,Excel操作小技巧,助你学好计算机二级office!
原标题:Excel操作小技巧,助你学好计算机二级office! Office考试中最难的是什么?当然是Excel函数啊! 小编辛苦整理了excel10大懒人技巧,让你考试速提分!还不赶紧收藏起来 一. ...
- 【EXCEL分列小技巧:按特殊符号分列】
EXCEL分列小技巧:按特殊符号分列 这种格式,变为下面这种格式↓ 第一步 第二步 第三步 预览,加完成 搞定
- excel使用小技巧-冻结窗格
excel使用小技巧-冻结窗格 冻结窗格有三种形式可用: 1.冻结窗格:既冻结选中单元格的上方和右方 注:冻结部分不会随滚动条的拖动,被数据覆盖. 2.冻结首行:故名思意既冻结整个单元格的第一行 3. ...
- EXCEL/WPS小技巧(自动填充排序,身份证生日号码的提取)
EXCEL/WPS小技巧(自动填充排序,身份证生日号码的提取) Excel/wps的自动填充排序 方法一 方法二 身份证生日号码的提取 Excel/wps的自动填充排序 方法一 Excel和wps的操 ...
- EXCEL常用小技巧系列01----排名
EXCEL常用小技巧系列01----排名 在工作中,时常需要对数据进行各种方式的排名,以下总结几种常用的排名方式: 一:有相同数字时,显示同一排名且下一排名不连续 公式:=SUMPRODUCT((数据 ...
- 【word】和【excel】小技巧总结
作为测试人员,每天也要面对不同的文档,不同文档样式要求也就不一样,所以此篇博客就是总结文档中的小技巧,以备不时之需. 一.删除多余页眉 以word2007为例: 1.选择想要删除的页眉所在页,点击上方 ...
- 12个Excel实用小技巧
以Excel表格2016版本为例给大家整理了14个非常实用简单的Excel小技巧,GIF动图演示.文字详细描述,生动形象直观,学会了可有效提高工作效率. 技巧一:快速选取表格某些列 如下图所示,选取E ...
- 5个Excel常用小技巧,分分钟提升工作效率
点赞再看,养成习惯:十年之计,莫如树木. 微信搜索[亦心Excel]关注这个不一样的自媒体人. 本文 GitHub https://github.com/hugogoos/Excel 已收录,包含Ex ...
- 6个Excel使用小技巧
Excel是大家熟悉不过的文件格式,今天和大家分享几个使用excel过程中的小技巧,希望能够帮助到大家. 技巧一:求和快捷键 同时按下Alt和=,能够快速调用出SUM函数不需要键盘鼠标来回切换 技巧二 ...
最新文章
- 如何在C#中用单个空格替换多个空格?
- MySQL学习笔记(6)之设计范式
- 十二届蓝桥杯C++ 1月 中 高级组试题 第4题 病毒繁殖
- Linux网络实时流量监测工具iftop的安装使用
- es统计mysql 报表_Elasticsearch(简称ES)实现日报表、月报表、年报表统计,没数据补0...
- java fileinputstream 安全管理器校验失败_Spring Boot 如何做参数校验?
- 10分钟学会数据库压力测试
- python第一课教案_Python学习第一课
- matlab的findpeak 极点查找
- FFmpeg h264转h265命令(九)
- deeplin显示安装空间不够_太实用了!这种冷门的显示器支架可帮了大忙了
- 桌面高效便捷的多窗口调整管理工具 - AquaSnap
- 万字干货,交互设计精髓105条设计原则(附中英PDF资料)
- 傲腾内存 可以用ghost系统_光影精灵傲腾版笔记本安装win10系统操作教程
- 记一次Python爬取某网站公众号二维码的过程
- 面试常见问题之OWASP top10
- C语言(二):数据类型
- WebPack的安装及使用
- filebrowser实现私有网盘
- 竟然如愿让我拿到诸多大厂offer(头条,PDD,Alibaba)-来自Alibaba的Java面试指南,
热门文章
- HTML提供了许多标记,HTML提供了许多标记,下列选项中,属于HTML标记的是
- C# 大帧头数据转化 备忘
- R语言ggplot2绘制分组箱型图和分组柱状图
- 计算机设计大赛科学,2018年中国大学生计算机设计大赛举行
- linux 内核 发送数据,使用Linux内核模块发送的UDP数据包不使用套...
- Hbase数据恢复方案
- Kolin之面向对象-1
- uniapp实现unipush推送功能
- 9个最佳的多用途Android应用模板
- C4D2023取消永久许可?Maya推出精简版?你不能错过的7个CG软件资讯...