• ベストアンサー

VBAについての質問です

ユーザーフォーム内に2つのテキストボックスがあります。 TextBox1に『10:00』と入力すると、 TextBox2には、10分後の『10:10』と自動表示させるためには、 どうしたら良いのでしょうか? また、TextBox1が空白にした時は、自動的にTextBox2も空白にする 機能も付加したいです。 よろしくお願いします。

質問者が選んだベストアンサー

  • ベストアンサー
  • zap35
  • ベストアンサー率44% (1383/3079)
回答No.2

例えば Private Sub TextBox1_Exit(ByVal Cancel As MSForms.ReturnBoolean)  If TextBox1.Value = "" Then   TextBox2.Value = ""  Else   If IsDate(TextBox1.Value) Then    TextBox2.Value = Format(CDate(TextBox1.Value) + TimeValue("0:10:00"), "h:mm")    End If  End If End Sub ただしTextBox1に時刻データ以外を入力されることを想定して、データチェックはもう少し厳密に行う必要があるでしょう (上の例ではIsDate関数でのチェックしかしていない)

その他の回答 (1)

  • fujillin
  • ベストアンサー率61% (1594/2576)
回答No.1

テキストボックスのChange イベントの制御の中で、TextBox1の値(時刻かチェックする必要もありますね)に10分加えた値を、TextBox2の値とすればよいのでは?(TextBox.TextやTextBox.Valueなどを利用) 空白の場合も同様です。 テキストボックス間のデータのやりとり(表示)については、過去の質問を検索してもたくさんヒットします。 とりあえず、参考になりそうな一例を・・   http://oshiete1.goo.ne.jp/qa2092723.html VBのヘルプにもそんなサンプルコードが載っていたと記憶していますが、ヘルプも調べてみるとよいのでは?

関連するQ&A