先贴一个类型声明符表:
1.iPower
求一个值的指定次方数的结果
'求次方iPower(源值,次方数)
Function iPower(iVal, Pw) As Long'声明一个自定义函数,函数名为iPower,iVal 为源值,Pw为次方数
Application.Volatile '自动刷新计算结果
iPower = 1 '先给iPower赋值为1,此为次方的基数
If Pw > 0 Then '如果Pw大于0则
iPower = iPower(iVal, Pw - 1) * iVal
'iPower等于iPwer(源值的pw-1次方)*源值,这个里面要细细口味, Pw其实就是迭代次数
End If
End Function
示例:
2.sliCaSN
返回指定日程表的开始时间和结束时间
'本函数得出指定日程表的开始时间和结束时间sliCaSN(日程表名称)
Function sliCaSN(sName As String) As String 'sName为日程表的名字
Application.Volatile '自动刷新计算结果
Dim startDay '开始日期
Dim endDay '结束日期
Dim iDay '日期差
With ActiveWorkbook.SlicerCaches("NativeTimeline_" & sName) '调用数据并赋值
startDay = .TimelineState.StartDate
endDay = .TimelineState.EndDate
End With
iDay = endDay - startDay '计算日期差
If iDay Then '开始日期不等于结束日期
If Format(startDay, "yy") = Format(endDay, "yy") Then '年相等
endDay = Format(endDay, "m月d日")
If Format(startDay, "mm") = Format(endDay, "mm") Then '年月相等
endDay = Format(endDay, "d日")
End If
Else '年不相等
endDay = Format(endDay, "yyyy年m月d日")
End If
sliCaSN = Format(startDay, "yyyy年m月d日") & "-" & endDay
Else '年月日相等
sliCaSN = Format(startDay, "yyyy年m月d日")
End If
End Function
示例: