※ ChatGPTを利用し、要約された質問です(原文:エクセル2003のフォームを作成しています。)
エクセル2003のフォーム作成に関する質問記事
このQ&Aのポイント
エクセル2003のフォーム作成について質問があります。テキストボックスとマルチページを組み合わせたフォームにおいて、特定の条件に合致するデータを表示する方法について教えてください。
さらに、ページのタブをクリックしたときのイベントの書き方についても分からないので、教えていただきたいです。
質問内容は少し複雑ですが、具体的なシチュエーションを挙げながら説明しています。ご協力いただければと思います。
エクセル2003のフォームを作成しています。
2点質問があります。
(1)
UserForm1にテキストボックス1と2
マルチページの中にテキストボックス3と4があります。
エクセルのシート名はSheet1です。
一例)
マルチページ1
テキストボックス1:A100
テキストボックス2:山田太郎
テキストボックス3:
テキストボックス4:
マルチページ2
テキストボックス1:A100
テキストボックス2:山田太郎
テキストボックス3:
テキストボックス4:
マルチページ3
テキストボックス1:A100
テキストボックス2:山田太郎
テキストボックス3:
テキストボックス4:
マルチページ4
テキストボックス1:A100
テキストボックス2:山田太郎
テキストボックス3:
テキストボックス4:
マルチページ5
テキストボックス1:A100
テキストボックス2:山田太郎
テキストボックス3:
テキストボックス4:
エクセルのシート(Sheet1)には
A B C D E
A100 山田太郎 木村 5000円 担当1
A100 山田太郎 村田 6000円 担当2
A100 山田太郎 江崎 3000円 担当3
A200 田中花子 吉田 4000円 担当1
A200 田中花子 鈴木 1000円 担当2 とデータが続いています。
UserForm1に読込というボタンがあるのですが、クリックしたらシートの
A列でA100、B列で山田太郎、かつE列で「担当1」の行の
C列の名前をテキストボックス3、D列の金額をテキストボックス4
に表示させるにはどのように書けば良いのでしょうか。
ページ2は、ボタンではなく、ページをクリックした時に
上記と同様のイベント
A列でA100、B列で山田太郎、かつE列で「担当2」の行のC列の名前を
テキストボックス3、D列の金額をテキストボックス4に表示、
ページ3は、2と同様ページをクリックした時に
A列でA100、B列で山田太郎、かつE列で「担当3」の行の
C列の名前をテキストボックス3、D列の金額をテキストボックス4
に表示、
以降のページも上記と同様のことをさせたいと思っています。
マルチページは5ページありますが、必ずしもシートに担当5まで
あるわけではなく、A100 山田太郎のように、担当が1から3しか
シートにデータがない場合は、マルチページの4と5は空欄に
ならなければなりません。
(2)ページのタブをクリックした時のイベントの書き方が分かりません。
ページをクリックした時のイベントは、こちらで同じような質問を
されている方のを見て、タブをクリックした時のコードをコピーして
みまして試してみましたが、無反応でした。
Private Sub MultiPage1_Click(ByVal Index As Long)
'Page2がクリックされた場合
If Index = 1 Then
Load UserForm1
With UserForm1
.StartUpPosition = 0
.Top = 50
.Left = 20
.Show
End With
End If
End Sub
分かりづらい説明で申し訳ありませんが、どなたか教えていただけ
ませんでしょうか。よろしくお願いいたします。
お礼
山田太郎も田中花子も代表者で、一緒にプロジェクトをやっている人がそれぞれMAX5名いるということです。 VLOOKUPで探そうと試みましたが検索値は1つしか指定出来ないようなので、他に方法はあるか質問しました。 もう一度自分でやります。