扫码关注 |
---|
![]() |
1. 写在前面
在往期文章 不怕一亿,就怕一分:让我们从小数位数说起 里,我们提到了在适当的时候要主要保留小数位数。在往期文章
如何在 Excel 功能区增加自定义的功能 里,我们创建了一个快捷使用 Round
公式的方法。其中有一段 VBA 代码,今天我们就来讲一讲这段代码,算是我们后续 VBA 之路的一个起点。
2. 原始代码
Sub cmdRound() Dim Rng As Range For Each Rng In Application.Selection If (IsNumeric(Rng)) And (Rng <> "") Then If Left(Rng.Formula, 1) = "=" Then Rng.Value = "=Round(" & Mid(Rng.Formula, 2) & ",2)" Else Rng.Value = Round(Rng.Value, 2) End If End If NextEnd Sub
3. 代码讲解
其实这段代码并不适合作为初学者的示例。按照编程界的惯例,都是先输出一个“Hello World!”作为开始的。而且里面没有具体单元格的引用,还用到了一大堆内置函数...
不过,这丝毫不影响我们开启学习之路!
3.1 子过程
第1行 Sub cmdRound()
定义了一个子过程,其中 cmdRound
是过程名称,自己怎么开心怎么定义(呃。。。其实也不是,是有命名规则的,不过现在可以不管,之后会专门留一篇来说名称的事)
VBA 程序包含子过程、函数过程和属性过程,其中子过程最常见