我有一個函數從一個日期計算工作日名稱:
Function calcWeekdayName(calcDate As Date) As String
Dim calcWeekday As Integer
calcWeekday = Weekday(calcDate, vbMonday)
calcWeekdayName = weekdayName(calcWeekday, True, vbMonday)
End Function
然後我使用一個公共變量的日期傳遞給這個函數。公共變量聲明上表2:
Public searchDate As Date
可變然後在下面我的函數的子集:
searchDate = Worksheets("Update Data").Range("B3").Value
上更新數據B3被格式化日/月/年
當我嘗試使用函數和searchDate變量設置變量weekdayName時,我得到一個ByRef參數類型不匹配。
在表2:
Public weekdayName As String
在子:
weekdayName = calcWeekdayName(searchDate)
B3的當前值是28/03/2016但我還試圖2016年1月1日。
乾杯
將'Option Explicit'放置爲所有代碼模塊的第一行。 – GSerg
當我使用公共變量?所以我需要在每個模塊中重新使用它們? – megatron77
@ megatron77 - 回答你的問題,沒有。我會幫助確定你是否有範圍問題。 「你的意思是」變量被設置在我的函數*下面的* sub中「。我猜測,無論編譯器傳遞的是「searchDate」,在您撥打電話時都不是日期。 – Comintern