• ベストアンサー
※ ChatGPTを利用し、要約された質問です(原文:ダイアログに予め入力Noと日付を表示させるには?)

Excel VBAでダイアログに予め入力Noと日付を表示させる方法

このQ&Aのポイント
  • Excel2007のVBAを使用して、ダイアログに予め「入力No.」と「入力日」を表示させる方法を教えてください。
  • マクロ実行と同時に、「入力No.」と「入力日」が「日報記入ダイアログ」に予め入力され、その後の入力内容がデータベースに転記される方法を教えてください。
  • マクロの実行をすると、「入力No.」は昨日の続きで、「入力日」は翌日の日付が予め入力される方法を教えてください。

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

  • ベストアンサー
  • imogasi
  • ベストアンサー率27% (4737/17069)
回答No.1

(注意)画像がぼやけてよく見えない。 VBA1ヶ月では速すぎる課題と思う。本件も丸投げ。 今はコードの作成にしか目が行ってないと思うが、要点を整理して 文章(箇条書き)にする訓練をすること。 そしたら自分が出来ない点に的が絞れる。 ーー (準備) ダイアロウグと言っているが、内容的に間違いないと思うが、質問では 質問者が、ユーザーフォームにテキストボックスに貼り付けて 作りました、が判りやすい。  これは一応出来上がっている。 (初期化) 番号をセルから取ってきて、+1した番号をフォームの赤枠の左のテキストに セットするのかな。 赤枠の左のテキストには何をセットするのかな。 あるいはA,B列はデータが既に入っているのかな。 A列の番号でB列をテーブルから検索してくることもあろう(生徒番号を入れると 隣のテキストボックスにに生徒氏名が出るとかもあろう) 質問例ではそれらしいものが現れてないようだが。 (入力) 問題はないでしょう。 入力データ項目がすべて入力して揃ったら完了のコマンドボタンをクリック このボタンは画像に見えてないがあるのだろうね。 (シートへのフォームに入れたデータの書き出し) 「今まで入力した最後の行」の次の行の各列に、各項目をセットしていく、 ので良いのかな。 これは各TextBoxのTextの値を代入したら仕舞い。 ーー 例 ユーザーフォームにテキスト3つと、ボタン1つ貼り付ける。 コマンドボタンのクリックイベントに Private Sub CommandButton1_Click() d = Range("a65536").End(xlUp).Row + 1 '最終行を検出 With Worksheets("Sheet1") .Cells(d, "A") = TextBox1.Text .Cells(d, "B") = TextBox2.Text .Cells(d, "C") = TextBox3.Text End With TextBox1.Text = "" TextBox2.Text = "" TextBox3.Text = "" TextBox1.SetFocus End Sub ーー これをテスト実行して あとは ・データ内容チェック ・タブオーダー ・データ編集 ・第1・第2テキストボックスで私がわからないので .Cells(d, "A") = TextBox1.Text .Cells(d, "B") = TextBox2.Text にしている個所の改善。 など勉強してください。 ーー 多分質問者が判らないといっているのは d = Range("a65536").End(xlUp).Row + 1 の部分ではないかな。しかしこのコードは、私は行繰り返しの処理を することが多いので、しょっちゅう使う。 A,B列が入力済みのシート構成ならC列でこれを行う。

dradra33
質問者

お礼

imogasi様、いつもご回答ありがとうございます。 ご指摘の通り、質問するときは、以下のことを こころがけます。 ・画像を見やすくすること ・質問の要点を絞ること imogasi様からのご回答を見ていると 私の質問の的が絞れてないことが 改めて分かりました。 本件についての質問受け付けは、これで締め切りと させていただきます。 ただ後日、以下の3つの点を確認した上で 関連する質問を投稿いたします。 1.自分の現在の実力 2.参考書での類似例 3.最終的な作成物 もしその時、imogasi様の目に止まり、 ご回答ができるようでしたら幸いです。 また、コードの参考例の提供、ありがとうございました。 特に行繰り返しのコード参考にさせていただきます。

関連するQ&A