我想编写一个函数宏来计算两个日期之间的天数。看起来我有这个。
Function daysRem(today As Date, eoc As Date) As Integer
daysRem = Abs(DateDiff("d", today, eoc))
End Function
现在,我需要从Sub中“调用”该功能,以粗略估计剩余的周数。我希望它在一个消息框中。这就是我遇到大约两个小时的挫败感的地方。这必须简单,但我无法弄清楚要做什么。
答案 0 :(得分:0)
试试这个:
Private Sub DisplayDaysDiff()
Dim dtDate1 as Date
Dim dtDate2 as Date
dtDate1 =ThisWorkbook.Worksheets("Sheet1").Range("A2")
dtDate2=ThisWorkbook.Worksheets("Sheet1").Range("B2")
MsgBox "Days difference: " & CStr(daysRem(dtDate1, dtDate2)), vbInformation
End Sub
从button_click事件中调用它
答案 1 :(得分:-3)
Sub Main
x = MyFunction(Param1)
End Sub
MyFunction(MyDate as Date)
MyFunction = DateDiff("ww", Date(), MyDate)
End Function
您可以将值分配给函数名称。内置的Date()
函数是今天的日期。
函数返回一些东西。没有。宏是SUBS。
函数返回一些东西。
所以
Function Test
Test = 5
End Function
Sub Main
x = Test() + 5
End Sub
所以 x = 10 。
Sub Main
Param1 = #2/2/2017#
Range("B4").Value = MyFunction(Param1)
End Sub
MyFunction(MyDate as Date)
MyFunction = DateDiff("ww", Date(), MyDate)
End Function
日期既是数据类型又是函数。一个人没有括号,一个人没有。