自定义函数集.pdfVIP

  • 0
  • 0
  • 约9.8千字
  • 约 8页
  • 2021-02-02 发布于广西
  • 举报
自定义函数集 1,求得 a 年 b 月第 c 个星期 d 的日期 ‘/viewthread.php?tid=459346pid=2991598page=1extra=page%3D 1 ‘求得 a 年 b 月第 c 个星期 d 的日期 Function xqrq(myYear, myMonth, Optional n% = 1, Optional myxq% = 1) As Date myYear 年份,myMonth 月份,n 第几个,myxq 星期几 myxq=1(周日) 、2(周一) 、3(周二)... Dim myDate As Date, xq% myDate = DateSerial(myYear, myMonth, 1) xq = Weekday(myDate) If myxq xq Then xqrq = myDate + 7 - xq + myxq + 7 * (n - 1) Else xqrq = myDate + 7 * (n - 1) - xq + myxq End If End Function 用法:=xqrq(1991,3,2,4) 1991 年 3 月第 2 个星期三 返 1991-3-13 n 默认为第 1 个,myxq 默认为星期日(=1) 如果 A1 =1991,B1 =3 E1 =xqrq(A1,B1,,) 返 1991-3-3 2,求得不相邻单元格区域的列数 ‘2010-2-5 ‘/viewthread.php?tid=535481pid=3540112page=1extra=page%3D 1 Function ls(ParamArray rngs() As Variant) Dim d, ad1$, aa, bb, i%, j, cc1, cc2, ii% Set d = CreateObject(Scripting.Dictionary) For ii = 0 To UBound(rngs) ad1 = rngs(ii).Address(ReferenceStyle:=xlR1C1) If InStr(ad1, ,) 0 Then aa = Split(ad1, ,) For i = 0 To UBound(aa) If InStr(aa(i), :) 0 Then bb = Split(aa(i), :) cc1 = Split(bb(0), C)(1) cc2 = Split(bb(1), C)(1) For j = Val(cc1) To Val(cc2) 第 1 页 自定义函数集 d(j) = Next Else j = Split(aa(i), C)(1) d(j) = End If Next Else If InStr(ad1, :) 0 Then bb = Split(ad1, :) cc1 = Split(bb(0), C)(1) cc2 = Split(bb(1), C)(1) For j = Val(cc1) To Val(cc2) d(j) = Next Else j = Split(ad1, C)(1) d(j) = End If End If Next ls = 有 d.Count 列。 End Function 函数用法: =ls(A2:A10,B4:d7,C5:G8) 3,已知年月日的星期

文档评论(0)

1亿VIP精品文档

相关文档