標題:
以中華民國方式輸入日期
[打印本頁]
作者:
myleoyes
時間:
2012-1-12 12:01
標題:
以中華民國方式輸入日期
各位前輩你們好!
前輩!!小弟想以中華民國方式輸入出生年月日
ZZ = Application.InputBox("輸入日期", "請輸入你的出生年月日", "82/1/12", Type:=2)
[A7] = Format(ZZ, "[$-404]e/m/d;@")
但得到的A7=71/1/12少11年請問程式要如何寫
再則當日期超過100年就無法正確顯示不知有何方式解決問題,
請知道的前輩,不吝賜教謝謝再三!!
作者:
Hsieh
時間:
2012-1-12 13:01
回復
1#
myleoyes
ZZ = InputBox("輸入日期", "請輸入你的出生年月日", "82/1/12")
[A7] = CDate("R" & ZZ): [A7].NumberFormat = "[$-404]e/m/d;@"
作者:
myleoyes
時間:
2012-1-12 21:35
回復
2#
Hsieh
偶像前輩!謝謝!!為何出現執行階段錯誤'13':型態不符合呢?
請再麻煩一下謝謝再三!!
作者:
Hsieh
時間:
2012-1-12 21:54
回復
3#
myleoyes
請確認INPUTBOX輸入中華民國日期,並且ZZ應宣告為String
作者:
myleoyes
時間:
2012-1-13 11:58
回復
4#
Hsieh
偶像前輩!謝謝!!程式沒問題
問題是為何它不能在Win7的作業系統執行呢?
也就是說小弟用Win7的作業系統配2007的Excel
執行程式時會出現型態不符合
但在Win-XP的作業系統配2007的Excel
執行程式是OK!!的
在Vista的作業系統配2007的Excel
執行程式也是沒問題?
公司的電腦與同事的電腦,筆電也是同樣結果
不知為何?請前輩再辛苦,謝謝再三!!
請有看到此篇文章的前輩!可否也測試一下
是否也有相同的問題呢?謝謝大家
作者:
Hsieh
時間:
2012-1-16 23:22
回復
5#
myleoyes
原因不明,改用以下方式試試看
ZZ = InputBox("輸入日期", "請輸入你的出生年月日", "82/1/12")
a = Split(ZZ, "/")
a(0) = a(0) + 1911
[A7] = Join(a, "/")
[A7].NumberFormat = "e/m/d"
作者:
myleoyes
時間:
2012-1-17 21:26
回復
6#
Hsieh
偶像前輩!辛苦你囉!謝謝再三!!
作者:
myleoyes
時間:
2012-3-7 11:43
各位前輩你們好!
前輩!!這樣的日期形態程式無法下拉
Sub 日期()
ZZ = InputBox("輸入日期", "請輸入日期", "101/12/30")
If ZZ = 0 Or ZZ = "" Then End
A = Split(ZZ, "/")
A(0) = A(0) + 1911
[B3] = Join(a, "/")
[B3].NumberFormat = "e/m/d"
[B3] = Format(ZZ, "[$-404]e/m/d")
[B3] = ZZ
Range("B3:B" & [a152].End(3).Row).DataSeries Rowcol:=xlColumns, Type:=xlChronological, Date:=xlYear, Step:=1
[B:B].EntireColumn.AutoFit
End Sub
程式寫出的[B3] =101/12/30
而B4=102/12/30 公式B4=EDATE(B3,12)這樣是錯誤值
請問這兩個問題 程式與公式要如何做好?
請知道的前輩,不吝賜教謝謝再三!!
作者:
register313
時間:
2012-3-7 12:30
回復
8#
myleoyes
Sub 日期()
ZZ = InputBox("輸入日期", "請輸入日期", "101/12/30")
If ZZ = 0 Or ZZ = "" Then End
a = Split(ZZ, "/")
a(0) = a(0) + 1911
[B3] = Join(a, "/")
[B3].NumberFormat = "e/m/d"
Range("B3:B" & [A152].End(3)).DataSeries Rowcol:=xlColumns, Type:=xlChronological, Date:=xlDay, Step:=1
[B:B].EntireColumn.AutoFit
End Sub
複製代碼
作者:
myleoyes
時間:
2012-3-7 21:38
回復
9#
register313
前輩! 謝謝!!
原來!原程式是多囉!這兩行
[B3] = Format(ZZ, "[$-404]e/m/d")
[B3] = ZZ
而前輩! 的這行有誤
Range("B3:B" & [A152].End(3)).DataSeries Rowcol:=xlColumns, Type:=xlChronological, Date:=xlDay, Step:=1
應該是這樣
Range("B3:B" & [a152].End(3).Row).DataSeries Rowcol:=xlColumns, Type:=xlChronological, Date:=xlYear, Step:=1
謝謝再三!!
歡迎光臨 麻辣家族討論版版 (http://forum.twbts.com/)