Excel使用VBA小程序的方法

我经常推荐大家使用微软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

操作方法:
[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-dVfHSvqK-1575946856346)(http://i2.tiimg.com/582188/8fc9eb87254a2df1.png)]

效果图,这里会生成一个新的,不带公式的工作薄:
在这里插入图片描述

  • 3
    点赞
  • 13
    收藏
    觉得还不错? 一键收藏
  • 2
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值