- Data related function
Sub dataFunction()
更改日期格式
'Range("A1").NumberFormatLocal = "mm-dd" 2024/5/8 05-08
获取日期的年月日
'Range("A2") = Month(Range("A1")) 5
日期年月日加减计算
'Range("a3") = DateAdd("y", -1, Range("A1")) 2023/5/8
获取最大或最小日期
MsgBox CDate(Application.WorksheetFunction.Max(Columns("A:A")))
'Max最大 Min最小 CDate将文本转换为日期格式
End Sub
- VLookup函数
Sub vlookup()
'VLOOKUP函数
Range("B1") = "=VLOOKUP(A1,[工作簿1]Sheet1!$A$1:$B$3,2,FALSE)"
'选中需要填充的部分下拉
Range("B1:B3").Select
Selection.FillDown
'copy 把公式去掉
Range("B1:B3").Copy
Selection.PasteSpecial Paste:=xlPasteValues
End Sub
- Filter in Array
//对满足条件的数据进行求和
Sub 宏2()
'先录制宏再对代码进行修改, 选中filter,筛选出需要的数据
Selection.AutoFilter
ActiveSheet.Range("$A$1:$A$11").AutoFilter Field:=1, Criteria1:=Array( _
"EE 1", "EE 2", "EE 3", "EE 4"), Operator:=xlFilterValues
Range("B2:B9").Select
'调用sum函数对筛选出的数据进行求和
MsgBox WorksheetFunction.Sum(Range("B2:B9").SpecialCells(xlCellTypeVisible))
'再次点击filter进行关闭
Selection.AutoFilter
End Sub
//对满足条件的数据计数
Sub count()
Cells.AutoFilter field:=2, Criteria1:=">1", Operator:=xlAnd
MsgBox WorksheetFunction.CountA(Range("A2:A9").SpecialCells(xlCellTypeVisible))
Cells.AutoFilter
End Sub