Sub ComputeCircleArea(radius)Dim area AsDoubleIf radius <=0ThenExit SubEnd Ifarea = WorksheetFunction.Pi() * radius * radiusDebug.Print "Area: " & areaEnd Sub

Call ComputeCircleArea(radius) 直接调用 ComputeCircleArea(radius) ComputeCircleArea radius
ByRef:这是 VBA 的默认传递方式。在这种传递方式中,参数 radius 从 AreaTest 过程传递到 ComputeCircleArea,传递的是 radius 在 AreaTest 过程中的地址。 ByVal:这种传递方式传递的是参数的值。这也是图1 中的 ComputeCircleArea 过程声明的方式。
对于基本类型,易使用传值方式,效率高 需要确保实参不会受到形参修改的影响
大型数据结构作为参数传递,易使用传地址方式,效率高 需要形参的修改能对实参产生影响

夜雨聆风