Board logo

標題: 表單的2個TextBox同步加總 [打印本頁]

作者: man65boy    時間: 2012-7-20 23:46     標題: 表單的2個TextBox同步加總

請教各位老師們如何在表單裡的TextBox2輸入年.月.日(2012/07/20),在Label1的日期(年.月.日)除了要保有與TextBox1的年加總外,還要跟TextBox2的日期作同步的加總變動。
[attach]11785[/attach]

麻煩各位先師們指教,謝謝!
作者: kimbal    時間: 2012-7-21 00:28

本帖最後由 kimbal 於 2012-7-21 00:30 編輯
請教各位老師們如何在表單裡的TextBox2輸入年.月.日(2012/07/20),在Label1的日期(年.月.日)除了要保有與Te ...
man65boy 發表於 2012-7-20 23:46


6 / 10 兩行是一樣的
以防日月反轉,用了dateserial
舊的TextBox1_Change方法, 2/29日是會有問題的,我一併改了.
  1. Private Sub UserForm_Initialize()
  2.     Label1 = Format(Date, "yyyy/mm/dd")
  3.     TextBox2.Text = Format(Date, "yyyy/mm/dd")
  4. End Sub
  5. Private Sub TextBox1_Change()
  6.     Label1 = Format(DateSerial(Left(TextBox2, 4) + IIf(Val(TextBox1) <> 0, Val(TextBox1), 0), Mid(TextBox2, 6, 2), Right(TextBox2, 2)), "yyyy/mm/dd")
  7. End Sub
  8. Private Sub TextBox2_Change()
  9.     If IsDate(TextBox2) Then
  10.         Label1 = Format(DateSerial(Left(TextBox2, 4) + IIf(Val(TextBox1) > 0, Val(TextBox1), 0), Mid(TextBox2, 6, 2), Right(TextBox2, 2)), "yyyy/mm/dd")
  11.     End If
  12. End Sub
複製代碼

作者: man65boy    時間: 2012-7-21 07:34

回復 2# kimbal
感謝老師的回答,真是太妙了!
再請問老師,Label1的mm(日)要減一天,要如何下手,
還有如何讓TextBox2.Text = Format(Date, "yyyy/mm/dd")在顯現後隨意更改 年or月or日
不要跑出"型態不符合"
再次地感謝老師的回答。
作者: Hsieh    時間: 2012-7-21 08:47

回復 3# man65boy
  1. Private Sub TextBox2_Change()
  2. If IsDate(TextBox2) Then
  3. Label1.Caption = DateAdd("yyyy", Val(TextBox1), CDate(TextBox2)) - 1'標籤日期為TextBox2加上TextBox1年的前一天
  4. End If
  5. End Sub

  6. Private Sub UserForm_Initialize()'起動表單自動顯示當天日期
  7. TextBox2.Text = Format(Date, "yyyy/mm/dd")
  8.     myday = Format(Date, "yyyy")
  9.     Label1 = myday
  10. End Sub
  11. Private Sub TextBox1_Change()
  12. Label1.Caption = DateAdd("yyyy", Val(TextBox1), CDate(TextBox2)) - 1'標籤日期為TextBox2加上TextBox1年的前一天
  13. End Sub
複製代碼

作者: man65boy    時間: 2012-7-22 07:41

回復 4# Hsieh


    感謝老師的精細的回答,不材小弟已知該如何應用了,謝謝你!




歡迎光臨 麻辣家族討論版版 (http://forum.twbts.com/)