2012-02-21 43 views
7

我想在Excel中用VBA格式化一個日期,當前的月份爲mmm格式。不知何故,我得到了前一個月,而不是當前的月份。我檢查了一下,我的電腦月份是2月份,但是我得到了Jan,取而代之。如何以mmm格式格式化月份?

這是我的代碼:

Cells(1, 2) = Format(month(Date), "mmm") 

回答

15

就直接格式化現有的日期,即

Cells(1, 2) = Format(Date, "mmm") 
+1

謝謝。其作品。 – user1199080 2012-02-21 10:06:00

+1

+1簡單明瞭! – 2012-02-22 02:16:34

13

您在格式化的日期1/1/1900

讓我解釋一下:

  • Date值得21/02/2012
  • Month(Date)值得1
  • Format會認爲這是一個日期,以便月(日期)將1/1/1900
  • 所以Format(month(Date), "mmm")將返回Jan作爲1/1/1900

teach you fishing月,當你面對這樣的問題,你可以試圖找到每個語句的值:

  • Debug.Print (Date)回報21/02/2012所以這部分是確定
  • Debug.Print (Format(Month(Date), "mmm"))回報jan所以這不是一個顯示電池問題
+2

+1解釋而失敗。一旦我收到你的通知,我就繼續我的帖子,因爲我提供了一個解決方案。 – brettdj 2012-02-21 10:02:30

+0

@brettdj:非常真實...我專注於問題而不是解決方案:) – JMax 2012-02-21 10:04:10