返回列表 上一主題 發帖

[發問] 請系統輸出日期的日~卻出現資料型態錯誤?

回復 4# av8d
我剛剛測試了一下並不會發生你所說的問題呢?
我是先新增一個 UserForm 在於其上新增一個 TextBox1 與 功能按鈕(cbOk)
再透過 Sheet1 的 SelectionChange 觸發事件來執行輸入作業.
  1. Private Sub Worksheet_SelectionChange(ByVal Target As Range)
  2.   UserForm1.Show
  3. End Sub
複製代碼
  1. Private Sub cbOk_Click()
  2.   Dim B, C, D
  3.   B = (Year(TextBox1))
  4.   C = (Month(TextBox1))
  5.   D = (Day(TextBox1))
  6.   
  7.   MsgBox ("你輸入的日期是 : " & B & " 年 " & C & " 月 " & D & " 日")
  8.   UserForm1.Hide
  9. End Sub
複製代碼
而你的程式之所以會發生錯誤我猜測有兩個可能:
1.  年、月兩者與 日 的變數其宣告格式不同或是不在同一區域.
2.  引用上述三者的程式不在同一區域.

TOP

本帖最後由 luhpro 於 2011-9-27 22:01 編輯
問題肯定不是出在括號
語法上D=(Day(TextBox1))
這最外圍括號是多餘的
Hsieh 發表於 2011-9-27 15:45

晤...
問題的確不應出現在括號,
Post 文中的括號是因為測試時我是分別用 MsgBox(Day(TextBox1)) 秀出結果來的,
後來套用到樓主的程式時沒注意到要把括號拿掉,
雖然有沒括號結果都是相同的,
但是卻造成了樓主的誤解, 很抱歉.

回復  luhpro
對了我該如何把組合出來的字變成日期格式
2011/9/27
Y &"/" & M & "/" & D
日期 ...
av8d 發表於 2011-9-27 16:52

DateSerial(2011, 9, 27)
這個指令只要搜尋 "日期" 就可以找到,
多多善用 F1 按鍵的說明功能可以多學很多東西喔.

TOP

回復  luhpro
感謝各位大大~
我PO一下問題~已加入您提供的資訊
Private Sub CommandButton1_Cl ...
av8d 發表於 2011-9-28 09:27

發生錯誤的關鍵在於 DateSerial 中的參數是 3 個 "數值" 而非 "字串" :
故而只要把 & "/" &  改成 ,  即可
icash-ans.zip (25.5 KB)

另 : 個人觀點, 若一打開檔案就看到一片黑, 會讓人感覺不舒服,
建議寧可空白到什麼都看不到也比整片黑嘛嘛要好.

TOP

        靜思自在 : 【生命在呼吸間】佛陀說:「生命在呼吸間。」人無法管住自己的生命,更無法擋住死期,讓自己永住人間。既然生命去來這麼無常,我們更應該好好地愛惜它、利用它、充實它,讓這無常、寶貴的生命,散發它真善美的光輝,映照出生命真正的價值。
返回列表 上一主題