Excel使用VBA小程序的方法
2018-01-15 13:11
357 查看
我经常推荐大家使用微软Office而非WPS的主要原因,就是因为微软Office支持写VBA进行二次功能开发,可以写小程序对常见重复性工作进行自动化,大大提高工作效率,提升幸福度。
这里介绍下如果别人给了一段代码,要如何进行使用。例如下述程序,可以新建、复制一份当前“工作薄”,并将所有公式转为数值,方便发布给别人查阅。
Sub 去除公式转为数值工作薄()
'[1] 初始化
tt = Timer ' 计时器
With Application
.ScreenUpdating = False '关闭屏幕更新加快执行速度
.DisplayAlerts = False
End With
'[2] 一个个sheet进行复制
Set wkb0 = ActiveWorkbook
Set wkb = Workbooks.Add '新建一个xlsx文件
wkb.Sheets("Sheet1").name = "__保证不重名__"
For Each st In wkb0.Sheets
On Error Resume Next '偶尔一些表格会出错,暂时还找不到原因
st.Copy After:=wkb.Sheets(wkb.Sheets.Count)
Set newSt = wkb.Sheets(st.name)
' 每个单元格依次查看修改,否则批量修改遇到开了筛选的表格会出错
Set rng = ActiveSheet.UsedRange
For Each c In rng.Cells
If c.HasFormula Then
c.Value = c.Value
End If
Next
Next st
wkb.Sheets("__保证不重名__").Delete
'[3] 结束
With Application
.ScreenUpdating = True
.DisplayAlerts = True
End With
Debug.Print "ok,用时 " & Timer - tt & " 秒!"
End Sub
操作方法:
效果图:
这里介绍下如果别人给了一段代码,要如何进行使用。例如下述程序,可以新建、复制一份当前“工作薄”,并将所有公式转为数值,方便发布给别人查阅。
Sub 去除公式转为数值工作薄()
'[1] 初始化
tt = Timer ' 计时器
With Application
.ScreenUpdating = False '关闭屏幕更新加快执行速度
.DisplayAlerts = False
End With
'[2] 一个个sheet进行复制
Set wkb0 = ActiveWorkbook
Set wkb = Workbooks.Add '新建一个xlsx文件
wkb.Sheets("Sheet1").name = "__保证不重名__"
For Each st In wkb0.Sheets
On Error Resume Next '偶尔一些表格会出错,暂时还找不到原因
st.Copy After:=wkb.Sheets(wkb.Sheets.Count)
Set newSt = wkb.Sheets(st.name)
' 每个单元格依次查看修改,否则批量修改遇到开了筛选的表格会出错
Set rng = ActiveSheet.UsedRange
For Each c In rng.Cells
If c.HasFormula Then
c.Value = c.Value
End If
Next
Next st
wkb.Sheets("__保证不重名__").Delete
'[3] 结束
With Application
.ScreenUpdating = True
.DisplayAlerts = True
End With
Debug.Print "ok,用时 " & Timer - tt & " 秒!"
End Sub
操作方法:
效果图:
相关文章推荐
- 使用 FSharpx.TypeProviders.Excel 类型提供程序的方法
- 使用VBA访问ACCESS,Excel文件的方法
- 导入Excel和导出Excel:的简单方法与程序处理方法,使用Excel程序读写Excel ,实现Excel的多个 Sheets读写并导出
- 第IV部分 高级编程技巧 第14章 使用VBA开发Excel实用程序
- 【视频】配置信息管理程序的使用方法的视频演示(一):数据库文档(Excel)的格式说明
- 导入Excel和导出Excel的简单方法与程序处理方法,使用Excel程序读写Excel ,实现Excel的多个 Sheets读写并导出
- 使用VB.NET编写控制excel的程序
- C# 2.0:使用匿名方法、迭代程序和局部类来创建优雅的代码
- [转]使用.net 程序生成 Excel 和Access 文件
- C# 2.0:使用匿名方法、迭代程序和局部类来创建优雅的代码
- 最好的富勒烯结构生成程序-CaGe的简便使用方法
- Java Excel API 使用方法
- 一个简单的方法:找出哪个的程序使用了哪个端口
- Excel VBA程序的编写
- 将Excel嵌入你的.Net程序2-使用dsoFramer
- 使用 Excel 2003 工作表的 VBA 示例
- 要将一个数据库的所有表格使用批通信程序取出(BCP OUT),有何较快的方法?
- [转]使用.net 程序生成 Excel 和Access 文件
- [转]使用.net 程序生成 Excel 和Access 文件
- 在Excel中使用VBA来筛选数据