使用工作表的函数
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
网友评论