VBA中使用公式

2019-07-21  本文已影响0人  A_rrow

使用工作表的函数

Application.WorksheetFunction.函数公式

统计函数的初探


表内容
Sub tj()
Dim sht As Worksheet
Dim i, j, k As Integer
For Each sht In Sheets
    If sht.Name <> 汇总 Then
        i = i + Application.WorksheetFunction.CountA(sht.Range("a:a")) - 1
        j = j + Application.WorksheetFunction.CountIf(sht.Range("f:f"), "男")
        k = k + Application.WorksheetFunction.CountIf(sht.Range("f:f"), "男")
    End If
Next
Sheet1.Range("d26") = i
Sheet1.Range("d27") = j
Sheet1.Range("d28") = k
End Sub

常用的几类VBA函数

交互函数 inputbox msgbox
书写VBA函数时可以直接写函数即可
如VBA.Information.IsNumeric(l)可以直接写成 IsNumeric(l)

文本函数

instr (VBA.Strings.InStr)-- 查找位置

可以回避掉find函数,find函数找不到目标值时会报错,instr找不到时返回0


Sub test()
Sheet1.Range("b2") = Left(Sheet1.Range("a2"), InStr(Sheet1.Range("a2"), "@") - 1)
End Sub

split -- 切割文本

split(截取的单元格,按什么符号截取)(目标值下标)。截取的内容是按数组的形式储存的,所以在用下标取出,下标从0开始。



利用split切割文本,遇到不规则的字符时跳过

Sub tiqu()
On Error Resume Next
For i = 2 To Sheet2.Range("a65536").End(xlUp).Row

  Sheet2.Range("b" & i) = Split(Sheet2.Range("a" & i), "-")(2) & "年 第" >& Split(Sheet2.Range("a" & i), "-")(3) & "周"
Next
End Sub
上一篇 下一篇

猜你喜欢

热点阅读