我想确定startDate
的月份,但在VBA month()
函数的帮助下,我总是得到一个完整的日期(此处: 07.01.1900 ) 。我有什么想法可以轻松确定startMonth
?在此先感谢您的帮助!
这是我的代码:
Sub Calc()
Dim length As Long
Dim startDate As Date
Dim endDate As Date
Dim startMonth As Integer
startDate = Range("C2").Value '22.07.2016
endDate = Range("P2").Value '26.10.2016
length= endDate - startDate
startMonth = Month(startDate)
Range("E5").Value = length 'returns 96
Range("E6").Value = startMonth 'returns 07.01.1900 instead of 7
End Sub
答案 0 :(得分:1)
试试这个
With Range("E6")
.Value = startMonth
.NumberFormat = "#"
End With
或.NumberFormat =" 0#"如果你想看到领先的0.
答案 1 :(得分:0)
您给我们的代码似乎并没有像您提到的那样使用Month()函数。你试过吗
startMonth = Month(Range("U2").Value)
答案 2 :(得分:0)
您的单元格E6
的格式为Date
。将其格式化为标准单元格,它将为您提供预期的结果。
话虽如此,有一种更好的方法来区分两个日期之间的时期(月,日或年):
Public Sub TestMe()
Debug.Print DateDiff("m", "22.07.2016", "26.10.2016") 'difference in months
Debug.Print DateDiff("d", "22.07.2016", "26.10.2016") 'difference in days
Debug.Print DateDiff("y", "22.07.2016", "26.10.2016") 'difference in years
End Sub
答案 3 :(得分:0)