VBA超初心者です。
UserForm2のTextBox1に顧客IDを入力し、ListBox1に検索結果を表示。ListBox1の結果をダブルクリックしてUserForm1の入力画面で修正や追記を行いたいです。
UserForm1の項目は43項目あり、Excel sheet1 に反映します。ID検索でUserForm2のListBox1に表示させた項目は、sheet1からID、名前、性別、日付、担当者のみ表示しました。
修正が必要なListBox1の値をDoubleClickし、UserForm1のTextBoxに値を転記しデータを修正し、再登録ボタンを押して再度Sheet1の同じ箇所に収めたいです。
UserForm2で
Private Sub ListBox1_DblClick(ByVal Cancel As MSForms.ReturnBoolean)
UserForm1.Text
End Sub
・・・でわからなくなってしましました。
どうかよろしくお願いします。
A 回答 (2件)
- 最新から表示
- 回答順に表示
No.2
- 回答日時:
こんばんは
>VBA超初心者です。
とおっしゃる割りには、難しいことをなさっているようです。
特に、ユーザフォームはシートのセルのようにレイアウトも決まっていませんし、コントロールの名称も決まっていません。
さらにはどのような設定をしているのかも様々なので、正確な情報が伝わりにくいため、単純化したご質問でないとなかなか適切な回答は得られにくいと思います。
また、二つのFormを使い分けているようですが、表示の方法(モーダル、モードレス)や値をどこに保持しておくかなども関わってきそうですね。
全体の構成や位置関係が不明なので、とても処理のコードは書けませんけれど、とりあえずダブルクリックイベントの処理で、選択された項目の取得の方法だけを以下に示しておきます。
ListBoxのダブルクリックイベントでは、どの項目がクリックされたかの情報は得られません。
得られるのは、それぞれの項目が選択状態か否かの情報だけです。
(どうしても、どの項目かを取得したければ、Win APIなどを用いて、クリックの位置とフォームの位置から計算で求めるようなことを行えば、不可能ではありませんが、相当に面倒なものになると思われます)
また、Listboxがマルチセレクト可になっていると、複数の項目を取得することになってしまいますので、ご質問のケースでは1項目のみが選択可となっていると仮定しています。
(リスト内には、すでに項目が表示されている状態であると仮定しています)
Private Sub ListBox1_DblClick(ByVal Cancel As MSForms.ReturnBoolean)
Dim i
For i = 0 To ListBox1.ListCount - 1
If ListBox1.Selected(i) Then Exit For
Next i
If i < ListBox1.ListCount Then MsgBox ListBox1.List(i)
End Sub
のような感じで、選択された項目を取得することが可能です。
(上記の例では、リストが未選択の場合には何もしません)
No.1
- 回答日時:
厳しそうに感じる初級者です。
まず質問者さんは実際のデータ仕様やそれぞれのフォームにおけるコントロール配置については目を通しているでしょう。
しかしこの質問ではそれらの仕様及び関連(紐付け)情報が見えてこないと感じます。
画像(写真撮影ではなく画面のプリントスクリーンを適度なサイズに変更)があると視覚的に便利かと思いますが、ここのサイトでは画像拡大が難しい。
まだ知恵袋の方が見やすいとは思います。
ベテラン回答者さんであれば外部サイトの紹介とかもあるようですが、果たして安全なのか?についてはたかだか40年程度サボり気味でやってきた初級者には判別できませんので、それは抜きにしておきました。
検索すると紹介されているかもしれませんけど。
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
似たような質問が見つかりました
- Visual Basic(VBA) ユーザーフォーム「frm_基本❶」を立ち上げると新規で入力する行数を右下のNoとして表示しています。 1 2023/03/16 19:02
- Visual Basic(VBA) VBA Userformで一部別シートに転記がしたいのですが 2 2023/05/24 13:08
- Visual Basic(VBA) EXCELのVBAについて 2 2023/07/05 17:17
- Visual Basic(VBA) 列と行の名前(重複あり)が交差するセルに、データを入力したい 2 2022/06/25 22:42
- Access(アクセス) Accessで予定表を作成しようとしてます。 テーブル フィールド名 連番 オートナンバー型 年月日 2 2023/07/23 11:40
- Visual Basic(VBA) VBA Bookの表示、非表示 1 2022/09/16 20:44
- Excel(エクセル) 【Excel】指定のセル内容を基に別シートのセルを検索して選択する【VBA】 1 2022/06/16 16:16
- Visual Basic(VBA) ユーザーフォームの表示を追加したい 2 2023/03/26 23:18
- Visual Basic(VBA) ファイル全てを .xlsm に変更したところ、プログラムが途中で落ちてしまっています 17 2022/12/07 12:03
- その他(プログラミング・Web制作) pythonリストの特定の値を表示htmlで表示できない 2 2022/05/14 05:48
このQ&Aを見た人はこんなQ&Aも見ています
-
10代と話して驚いたこと
先日10代の知り合いと話した際、フロッピーディスクの実物を見たことがない、と言われて驚きました。今後もこういうことが増えてくるのかと思うと不思議な気持ちです。
-
秘密基地、どこに作った?
小さい頃、1度は誰もが作ったであろう秘密基地。 大人の今だからこそ言える、あなたの秘密基地の場所を教えてください!
-
忘れられない激○○料理
これまでに食べたもののなかで、もっとも「激○○」だった料理を教えて下さい。 激辛、でも激甘でも。 激ウマ、でも激マズでも。
-
プリン+醤油=ウニみたいな組み合わせメニューを教えて!
プリンと醤油を一緒に食べると「ウニ」の味がする! というような意外な組み合わせから、新しい味になる食べ物って色々ありますよね。 あなたがこれまでに試した「組み合わせメニュー」を教えてください。
-
とっておきの「まかない飯」を教えて下さい!
飲食店で働く方だけが食べられる、とっておきの「まかない飯」。 働いてらっしゃる方がSNSなどにアップしているのを見ると、表のメニューには出てこない秘密感もあって、「食べたい!!」と毎回思ってしまいます。
-
Excel VBA 複数選択したリストボックスからテキストボックスに転記したいです。
Visual Basic(VBA)
-
VBA。リストボックスの値を別のユーザーフォームのテキストボックスに反映したい。
Access(アクセス)
-
エクセルVBA「リストボックスで選択した値をテキストボックスで変更してシート上セルに反映したい」
Excel(エクセル)
-
-
4
excelのリストボックスで選択した項目をアクティブセルに入力方法
Excel(エクセル)
-
5
リストボックスをクリックすると、他フォームに値代入
Excel(エクセル)
-
6
エクセルVBAリストボックスに表示された検索結果をクリックして、該当するセルをアクティブセルにしたい
Excel(エクセル)
-
7
VBA リストボックス内の値を複数選択し別シートに転記するには
Visual Basic(VBA)
-
8
ユーザーフォームを表示中にシートの操作をさせるには
Excel(エクセル)
-
9
エクセルのラベルの値(文字列)を垂直方向で中央揃えにするには?
Excel(エクセル)
-
10
UserForm1.Showでエラーになります。
工学
-
11
Excel にて、 リストボックスのデーターを別ブックのセルに転記するVBAをご教授願います
Excel(エクセル)
-
12
VBA リストボックスをダブルクリックしデータを修正したいのですが…。
Visual Basic(VBA)
-
13
VBAで保存しないで閉じると空のBookが残る
Excel(エクセル)
-
14
エクセルVBA ユーザーフォームのTextBoxを日付にしたい
Excel(エクセル)
-
15
ユーザーフォームのラベルに日付を表示させる方法があればお願いします。出来ればコード書いていただけると
Visual Basic(VBA)
-
16
エクセルVBAで、条件に一致するセルへ移動
Excel(エクセル)
-
17
ExcelVBAのユーザーフォームの中に線を引きたい
Visual Basic(VBA)
-
18
ユーザーフォームに入力したデータを保持する方法
Visual Basic(VBA)
-
19
エクセル VBA ユーザーフォーム リストボックスで選択した値をテキストボックスに自動表示
Visual Basic(VBA)
-
20
ユーザーフォームのテキストボックスに前回入力した値を表示する Excel
Visual Basic(VBA)
関連するカテゴリからQ&Aを探す
おすすめ情報
- ・漫画をレンタルでお得に読める!
- ・【大喜利】【投稿~11/22】このサンタクロースは偽物だと気付いた理由とは?
- ・お風呂の温度、何℃にしてますか?
- ・とっておきの「まかない飯」を教えて下さい!
- ・2024年のうちにやっておきたいこと、ここで宣言しませんか?
- ・いけず言葉しりとり
- ・土曜の昼、学校帰りの昼メシの思い出
- ・忘れられない激○○料理
- ・あなたにとってのゴールデンタイムはいつですか?
- ・とっておきの「夜食」教えて下さい
- ・これまでで一番「情けなかったとき」はいつですか?
- ・プリン+醤油=ウニみたいな組み合わせメニューを教えて!
- ・タイムマシーンがあったら、過去と未来どちらに行く?
- ・遅刻の「言い訳」選手権
- ・好きな和訳タイトルを教えてください
- ・うちのカレーにはこれが入ってる!って食材ありますか?
- ・おすすめのモーニング・朝食メニューを教えて!
- ・「覚え間違い」を教えてください!
- ・とっておきの手土産を教えて
- ・「平成」を感じるもの
- ・秘密基地、どこに作った?
- ・【お題】NEW演歌
- ・カンパ〜イ!←最初の1杯目、なに頼む?
- ・一回も披露したことのない豆知識
- ・これ何て呼びますか
- ・初めて自分の家と他人の家が違う、と意識した時
- ・「これはヤバかったな」という遅刻エピソード
- ・これ何て呼びますか Part2
- ・許せない心理テスト
- ・この人頭いいなと思ったエピソード
- ・牛、豚、鶏、どれか一つ食べられなくなるとしたら?
- ・好きなおでんの具材ドラフト会議しましょう
- ・餃子を食べるとき、何をつけますか?
- ・あなたの「必」の書き順を教えてください
- ・ギリギリ行けるお一人様のライン
- ・10代と話して驚いたこと
- ・大人になっても苦手な食べ物、ありますか?
- ・14歳の自分に衝撃の事実を告げてください
- ・家・車以外で、人生で一番奮発した買い物
- ・人生最悪の忘れ物
- ・あなたの習慣について教えてください!!
- ・都道府県穴埋めゲーム
このQ&Aを見た人がよく見るQ&A
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
テキストボックスのvalueとtext...
-
ISDBNULLをスルーしてDBNULLが...
-
VB.NETでコンボボックスの1行目...
-
VBA ドロップダウンリストを残...
-
Excel VBAのリストボックスの値...
-
シーケンサで最小値を保持する
-
ユーザーフォームのテキストボ...
-
DataTableに対するLINQについて
-
値を返さないコード パス
-
ExcelでGaussian fittingをした...
-
VB.netでRGB関数を使うには
-
マクロ 特定のセル値のみクリ...
-
変数名の取得
-
C#の質問です
-
vb6のVSFlexGridで選択行、列の...
-
Powershellのparamについて
-
ListBoxでオートフィルター表示
-
PL/SQLでのTO_DATEの時間取得に...
-
【C++/CLI.NET】コンボボックス...
-
SqlParameterとSqlCommandの使...
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
テキストボックスのvalueとtext...
-
値を返さないコード パス
-
VB.NETでコンボボックスの1行目...
-
Excel VBAのリストボックスの値...
-
C#の質問です
-
Vba TextBox1.ControlSourceに...
-
VB初心者。小数点以下の表示で...
-
PL/SQLでのTO_DATEの時間取得に...
-
変数名の取得
-
Excel VBA 複数選択したリスト...
-
マクロ 特定のセル値のみクリ...
-
Powershellのparamについて
-
フォーム間での変数の受け渡し
-
Excel vba ユーザーフォームテ...
-
vb6のVSFlexGridで選択行、列の...
-
ユーザーフォームのテキストボ...
-
シーケンサで最小値を保持する
-
ISDBNULLをスルーしてDBNULLが...
-
マクロで奇数と偶数の値を2か所...
-
【C++/CLI.NET】コンボボックス...
おすすめ情報
質問がわかりにくくて申し訳ありません。
ワークシートのB列のID番号を検索してUserForm2のリストボックスに表示させました。
リストボックスに表示された検索結果をダブルクリックしたらをUserForm1の入力フォームでデータの追加や修正をしたいです。UserForm1のTextBox1を顧客IDにしています。
重ねてご教示お願いします。