zoukankan      html  css  js  c++  java
  • VBA中引用工作表函数

    在Excel里有很多函数使用起来很方便,譬如:sum、average、min、max。

    但是工作表函数是不能在宏代码里直接使用的,它们和vba语言中的函数是不一样的;与之相对应,Vba中的函数例如val,mid在工作表里也不能通用。

    所以在vba语言里调用工作表函数,例如:

    1. 让一个变量得到单元格A1到B5的总和(变量设为X) X=SUM(RANGE("A1:B5"))的写法明显是行不通的。

    2. 正确写法是:

    1 Sub 引用工作表函数()
    2 Dim x%
    3 x = Application.WorksheetFunction.Sum(Range("A1:B5"))
    4 End Sub

    也就是说必须通过 Application 对象的 Worksheetfunction 属性来间接调用工作表函数!

    以下三种方法都对:

    1 '借用工作表函数
    2 Sub 运用工作表函数()
    3 MsgBox Application.WorksheetFunction.CountIf(range("a1:a10"), "钢笔")
    4 MsgBox WorksheetFunction.CountIf(range("a1:a10"), "钢笔")
    5 MsgBox Application.CountIf(range("a1:a10"), "钢笔")
    6 End Sub

     同时,也可以采用下面的方式:

    1 Sub 带工作表函数的计算()
    2 Dim i As Integer
    3 For i = 1 To 10
    4     Sheet1.Cells(i, 4) = "=sum(a" & i & ":b" & i & ")"
    5 Next i
    6 End Sub
    1 Sub 公式带引号的计算()
    2 Cells(12, 1) = "=COUNTIF(A1:A10,"">9"")"
    3 Cells(12, 2) = "=sum(INDIRECT(""a1:a10""))"
    4 End Sub
  • 相关阅读:
    转:高并发场景下强一致预算/库存扣减方案
    转:Dubbo性能调优参数及原理
    转:java线程状态说明,Jstack线程状态BLOCKED/TIMED_WAITING/WAITING解释
    使用增强学习法之SQ3R主动阅读
    建立实用投资计划
    使用smarty方法实现目标
    主动学习
    小知识
    大脑的处理模式
    真正的随笔
  • 原文地址:https://www.cnblogs.com/gongyanxu/p/8429966.html
Copyright © 2011-2022 走看看