美文网首页
第六课 函数与公式

第六课 函数与公式

作者: 流星雨的梦 | 来源:发表于2017-12-16 22:17 被阅读10次

    一、在单元格中输入公式

    1、用VBA在单元格中输入普通公式

         Sub t1()
           Range("d2") = "=b2*c2"   '引号之间写入要输入的公式'
         End Sub
    

    2.使用循环输入公式

    Sub t2()
          Dim x As Integer
          For x = 2 To 6
           Cells(x, 4) = "=b" & x & "*c" & x  '字符串与变量之间必须用&连接,且不变的内容用双引号引起来'
          Next x
    End Sub
    

    3.用VBA在单元格输入带引号的公式

    Sub t3()
         Range("c16") = "=SUMIF(A2:A6,""b"",B2:B6)"  '遇到单引号就把单引号加倍'
    End Sub
    

    4.用VBA在单元格中输入数组公式

        Sub t4()
          Range("c9").FormulaArray = "=SUM(B2:B6*C2:C6)"   '数组不需要在=外加大括号,用FormulaArray即可
        End Sub
    

    二、利用单元格公式返回值
    用evaluate()实现。此时只显示数值而没有公式

         Sub t5()
             Range("d16") = Evaluate("=SUMIF(A2:A6,""b"",B2:B6)") '用evaluate实现'
             Range("d9") = Evaluate("=SUM(B2:B6*C2:C6)")
         End Sub
    

    三、借用工作表函数
    使用Application.WorksheeFunction.函数,其中WorksheeFunction可以省略。调用的函数在编写时要用VBA语言,如sum(A1:A3)中,单元格表示方式应为sum(range(“A1:A3”))

     Sub t6() 
          Range("d8") = Application.WorksheeFunction.CountIf(Range("A1:A10"), "B")
     End Sub
    

    四、利用VBA函数
    VBA函数有很多

    Sub t7()
          Range("C20") = VBA.InStr(Range("a20"), "E")  'E在a20单元格的位置(第几个字符)类似工作表函数的find
    End Sub
    

    五、编写自定义函数

    Function wn()
             wn = Application.Caller.Parent.Name
    End Function
    

    相关文章

      网友评论

          本文标题:第六课 函数与公式

          本文链接:https://www.haomeiwen.com/subject/vydjwxtx.html