人力検索はてな
モバイル版を表示しています。PC版はこちら
i-mobile

VBAで入力フォームを作りたいのですが、入力日と納期の欄で、その日の日付と、納期としてその翌日の日付が自動的に入っているようにしたいです。コード?プロパティの設定等、よいやり方を教えてください。

●質問者: Platini
●カテゴリ:コンピュータ
✍キーワード:VBA コード プロパティ 入力 自動
○ 状態 :終了
└ 回答数 : 3/3件

▽最新の回答へ

1 ● nandedarou
●27ポイント

Date で当日の日付が取得できます。

CDate(Date) + 1 で翌日の日付が取得できます。

入力日欄のテキストボックスの名前がTextBox1、納期の欄のテキストボックスの名前がTextBox2だとすると

TextBox1.Text = Date
TextBox2.Text = CDate(Date) + 1

とイベントプロシージャに書けばいいです。


例えば、ユーザーフォームが表示されたときに、自動的に入力したければ、ユーザーフォーム名が「UserForm」ならば

Private Sub UserForm_Activate()
 TextBox1.Text = Date
 TextBox2.Text = CDate(Date) + 1
End Sub

ボタンをおしたときに表示したければ、例えば、ボタン名が「CommandButton1」ならば、

Private Sub CommandButton1_Click()
 TextBox1.Text = Date
 TextBox2.Text = CDate(Date) + 1
End Sub

と書いて下さい。

※「この質問・回答へのコメント」を回答受付中にできるように設定して頂ければ、わからないことがあれば、コメントにてサポートします。

http://q.hatena.ne.jp/answer ダミー


2 ● Mook
●27ポイント

ユーザフォーム UserForm に日付入力用のTextBox1、TextBox2 の二つあったとします。


シート上に CommandButton を配し、これを押したときにユーザフォームを表示するとした場合、

Private Sub CommandButton_Click()
 UserForm.TextBox1.Value = Format(Date, "YYYY/MM/DD")
 UserForm.TextBox2.Value = Format(Date + 1, "YYYY/MM/DD")
 UserForm.Show
End Sub

とすることで、表示時に日付が入った形となります。


日付の欄が年、月、日が分かれているような場合、それぞれが YearTextBox#、MonthTextBox#、DayTextBox# のような形だったとすると、それぞれに入力する場合は

Private Sub CommandButton_Click()
 UserForm.YearTextBox1.Value = Year(Date)
 UserForm.MonthTextBox1.Value = Month(Date)
 UserForm.DayTextBox1.Value = Day(Date)

 UserForm.YearTextBox2.Value = Year(Date + 1)
 UserForm.MonthTextBox2.Value = Month(Date + 1)
 UserForm.DayTextBox2.Value = Day(Date + 1)
 UserForm.Show
End Sub

のような形で実現できるかと思います。

http://www.asahi-net.or.jp/~ef2o-inue/vba_k/sub04_080.html


3 ● SALINGER
●26ポイント

その入力フォームのInitializeイベントに、テキストボックスに下のように値を入力するコードを書けばいいです。

Private Sub UserForm_Initialize()
 TextBox1.Value = Date
 TextBox2.Value = Date + 1
End Sub

http://q.hatena.ne.jp/

関連質問


●質問をもっと探す●



0.人力検索はてなトップ
8.このページを友達に紹介
9.このページの先頭へ
対応機種一覧
お問い合わせ
ヘルプ/お知らせ
ログイン
無料ユーザー登録
はてなトップ