我想在我的VBA代碼上使用Sumifs
函數,但是當條件是日期時它失敗。含日期標準的Sumifs
我有兩個代表月份和年份的字符串,如jan/2016
和feb/2016
。
我將它們轉換爲最新獲得「真正的」日期像01/01/2016
和01/02/2016
month1 = CDate(string1)
month2 = CDate(string2)
我的範圍是一個像04/01/2016
,13/01/2016
值被格式化爲日期(DateRange
)一列,.. 。
而且代碼:
sumifs1 = Application.WorksheetFunction.SumIfs(Range1,
Range2, var,
DateRange, ">=" & month1,
DateRange, "<" & month2)
此作品(返回值)如果我不把日期,但我必須限制一段時間的總和。
我已經嘗試改變日期欄的數字格式是這樣的:
DateRange.NumberFormat = "dd/mm/yyyy"
DateRange.NumberFormatLocal = "dd/mm/yyyy"
試圖格式化我個這樣的:
month1 = Format$(CDate(string1), "dd/mm/yyyy")
month2 = Format$(CDate(string2), "dd/mm/yyyy")
但沒有任何工程(返回0)。
這與我在處理Office程序中的日期時使用的方法相同......日期存儲爲「Double」值,其中積分部分是1900年1月1日以來經過的天數,小數部分是日期分數即'0.5'意味着'12:00:00 PM') – Barranka