web-dev-qa-db-ja.com

VBAExcelテキストボックスに現在の日付を入力

ユーザーがマクロボタンをクリックすると表示されるダイアログボックスがあります。このダイアログボックスはほとんど入力されており(日付、電子メール、プロデューサー、Webサイトなどが入力されています)、ユーザーが行う必要があるのは名前を入力することだけです。問題は、入力された日付が静的であるため、「3/3/11」と入力した場合、誰かが変更するまでその日付がそのまま残ることです。

そのテキストボックスに常に現在の日付を表示する方法があるかどうか疑問に思いました(ユーザーが何らかの理由で日付を変更することを決定しない限り)。テキストボックスの[値]セクションにさまざまなもの(「getDate()」や「= Date()」など)を入力しようとしましたが、これまでのところ成功していません。

ありがとうございました、

ジェシー・スモザーモン

5

フォームのInitializeイベントを使用します。例:

Private Sub UserForm_Initialize()
    TextBox1.Value = Format(Date, "mm/dd/yyyy")
End Sub
12
Graham

これを行う簡単な方法は、使用するDate関数をセルに配置し、LinkedCellプロパティを使用してテキストボックスからそのセルにリンクすることです。

VBAから、次のものを使用してみてください。

textbox.Value = Format(Date(),"mm/dd/yy")
1
Lance Roberts

テキストボックスのdesign-timePropertiesではなく、フォームの表示時にコードから値を設定します。

Private Sub UserForm_Activate()
    Me.txtDate.Value = Format(Date, "mm/dd/yy")
End Sub
1
Tim Williams

あなたは近かった。このコードをUserForm_Initialize()イベントハンドラーに追加します。

tbxDate.Value = Date
0
Arnoldiusss

実際、それは見た目ほど複雑ではありません。

Sub 
  today_1()
  ActiveCell.FormulaR1C1 = "=TODAY()"
  ActiveCell.Value = Date
End Sub
0
George Gru

私はこれが非常に古い投稿であることを知っていますが、私は以前にこれを使用しました

いつでも調整してアクティブ化できます。今の方法は別の方法です。ただのオプション

Private Sub UserForm_Initialize()

Textbox1.Text = Format(Now(), "mmddyyyhhmmss")

End Sub
0
Casey M

これがより単純なバージョンです。日付を表示したいセルに「

=Today()      

セルを希望の日付形式にフォーマットし、ボブはあなたの叔父です。 :)

0
Todd Coffman