独学で勉強しながら作成を行っていましたが行き詰ってしまったので質問します
・情報を表示させるフォーム
・検索フォーム
この2つを作成しておりまして。
検索フォームで検索を行い、結果をダブルクリックをするとフォームに反映されるものなのですが
検索の結果表示(リストボックス)には
【行番号】と【氏名】が現状表示されています。
ですが本来の希望は行番号ではなくユーザーナンバーをリストボックスに表示をさせたいのです。
そこでVBAを編集しようと思ったのですが
下記コードの赤字の部分をユーザーナンバー記載されているWorksheets(データ").Cells(wRow, 1)
に2か所変更すると確かにリストボックス上はユーザーナンバーが表示されるのですが
ダブルクリックをしても情報が表示されません。
---------------------------------------------------------------------
Private Sub SetListBox() '← リストに表示する処理追加
Dim wRow As Long
Dim wLstRow As Long
Me.検索候補.Clear
wLstRow = 0
For wRow = 2 To Worksheets("データ").Range("A1").CurrentRegion.Rows.Count
If Me.サーチ = "" Then
Me.検索候補.AddItem
Me.検索候補.List(wLstRow, 0) = wRow
Me.検索候補.List(wLstRow, 1) = Worksheets("データ").Cells(wRow, 2)
wLstRow = wLstRow + 1
Else
If InStr(1, Worksheets("データ").Cells(wRow, 2), Me.サーチ, vbTextCompare) > 0 Then
Me.検索候補.AddItem
Me.検索候補.List(wLstRow, 0) = wRow
Me.検索候補.List(wLstRow, 0) = Worksheets(データ").Cells(wRow, 2)
wLstRow = wLstRow + 1
End If
End If
Next
End Sub
---------------------------------------------------------------------
簡単ですがこちらで解決策がお分かりの方いらっしゃいましたらご教示いただけませんでしょうか
A 回答 (4件)
- 最新から表示
- 回答順に表示
No.4
- 回答日時:
Private Sub 検索候補_DblClick(ByVal Cancel As MSForms.ReturnBoolean)
rtnNo = Me.検索候補.Text
Unload Me
・
・
・
この下に、「データ」シートのrtnNo行目の情報を「情報を表示させるフォーム」へ転記するようなコードが書かれていませんか?
コード修正前は、rtnNoに行番号が格納されていたため、その行の情報を単純に転記すれば良かったはずですが、改修後はユーザナンバーが格納されるようになってしまうため、「データ」シートの何行目が、そのユーザナンバーに該当するかを検索するコードが必要になるはずです。
「独学で勉強中」とのこと。もし初心者であれば、良い勉強になると思いますので、頑張ってみてください。
もし、ハードルが高いようであれば、行番号はそのまま残して、ユーザナンバーを追加した方が、簡単に対応できるかもしれません。
No.3
- 回答日時:
こんにちは、
今まで内容が転記できていたと解釈すれば良いのか
解りませんが、示されているコードには、ダブルクリックイベントがありません。
どのオブジェクトをダブルクリックするのか不明ですが、
例えば、リストボックス 検索候補のダブルクリックイベントプロシージャに
転記コードを書けばよいと思います。
Private Sub 検索候補_DblClick(ByVal Cancel As MSForms.ReturnBoolean)
Cancel=True
情報を表示させるフォームオブジェクト=検索候補.List(検索候補.ListIndex, 0)
情報を表示させるフォームオブジェクト1=検索候補.List(検索候補.ListIndex, 1)
End Sub
こんな感じかな?
No.2
- 回答日時:
InStr の方の
>Me.検索候補.List(wLstRow, 0) = Worksheets(データ").Cells(wRow, 2)
書き込む列がダブっているのは記載ミスとしても、問題となっている
>ダブルクリックをしても情報が表示されません。
こちらがどうなのかなとOfficeを壊している初級者は思いました。
No.1
- 回答日時:
プログラムの勉強のやり方ですけど、独学でいけるならいいのですが、そうじゃあないことも多いです。
自分の頭で考えてもダメなときは、大型書店に行って、参考になりそうなサンプルが掲載された専門書の購入をするか、ネットで似たようなプログラムは無いか?を探すほうがいいです。
「無い袖は振れない」ともいいますからね。
優秀な他人のプログラマさんが作成したものを探して真似しましょう!
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
似たような質問が見つかりました
- Visual Basic(VBA) ユーザーフォーム「frm_基本❶」を立ち上げると新規で入力する行数を右下のNoとして表示しています。 1 2023/03/16 19:02
- Visual Basic(VBA) ユーザーフォームの表示を追加したい 2 2023/03/26 23:18
- Visual Basic(VBA) VBA処理追加 こちらでご教示頂いたのですが回答完了させてしまいましたのでこちらからまた質問させてく 2 2022/10/27 09:57
- Excel(エクセル) VBAの指示の内容 昨日こちらでご教示頂いたのですが初心者な為、一つ一つの指示が何をやっているのかわ 2 2022/10/25 18:08
- Visual Basic(VBA) 検索のユーザーフォームの表示について 1 2023/03/27 23:31
- Visual Basic(VBA) いつもお世話になっております、VBAで教えて頂きたいのですが 2 2022/05/05 22:20
- Visual Basic(VBA) VBAで質問ですが、皆さんはどの様に導き出しているのでしょうか? 6 2022/05/03 21:53
- Excel(エクセル) VBAについて 3 2022/06/19 18:19
- Visual Basic(VBA) VBA Userformで一部別シートに転記がしたいのですが 2 2023/05/24 13:08
- Access(アクセス) Accessでセレクタをダブルクリックで別フォームで詳細表示 3 2022/12/20 10:36
関連するカテゴリからQ&Aを探す
おすすめ情報
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
wordの差し込み印刷で文字...
-
WordでExcelデータを差込...
-
【C#】DataGridViewの最大列数...
-
DTOとEntityの差は何ですか。
-
excel access連携 このテーブル...
-
C#でのForm間のデータ受け渡し...
-
「外部データの取り込み」とい...
-
Windowsのマクロプログラムで、...
-
GridViewからチェックボックス...
-
ActiveReportのサブレポート機...
-
Access2000 CopyFromRecordset...
-
MSFlexGridのデータを初期化し...
-
クリップボード画像転送方法
-
mysqlにデータ登録
-
Dosブロンプトでtabを出力したい
-
「取得先」という表現について
-
format関数について
-
php 入力画面から確認表示画面...
-
Yahoo! JAPAN IDを新規取得でき...
-
shシェルスクリプト 空白行の...
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
wordの差し込み印刷で文字...
-
DTOとEntityの差は何ですか。
-
excel access連携 このテーブル...
-
【C#】DataGridViewの最大列数...
-
WordでExcelデータを差込...
-
ActiveReportのサブレポート機...
-
「外部データの取り込み」とい...
-
VBA内でのGetPixelを使用した時...
-
GridViewからチェックボックス...
-
Windowsのマクロプログラムで、...
-
INIファイルに一括書き込みを行...
-
VB 音の波形を取得する関数は?
-
EXCEL VBAで NHK NEWSの NEWSデ...
-
JavaからPHPへの値の受け渡し
-
★お手上げ状態です。助けてくだ...
-
Access2000 CopyFromRecordset...
-
MSFlexGridのデータを初期化し...
-
rsyncでのエラー(sh: rsync: no...
-
URLエンコードされなかったパラ...
-
回線速度が64kbpsだったら、64k...
おすすめ情報
リストボックスのダブルクリックに関しまして補足いたします
現状
Private Sub 検索候補_DblClick(ByVal Cancel As MSForms.ReturnBoolean)
rtnNo = Me.検索候補.Text
Unload Me
こちらが入力されています
検索フォームというのが
テキストボックスに名前を入力するとしたのリストボックスに
行番号と名前が表示されます
上記の状態の場合、リスト内をダブルクリックすると
別のユーザーフォームに名前以外の情報が任意のテキストボックスに表示されます
これを
ユーザーナンバーと名前をリストボックスに表示するように質問本文の赤字のみを編集した場合
リストボックスにはユーザーナンバーと名前が表示されるがそれをダブルクリックしても
フォームには情報が反映されない状態になっています。
リストボックスのダブルクリックに関しまして補足いたします
現状
Private Sub 検索候補_DblClick(ByVal Cancel As MSForms.ReturnBoolean)
rtnNo = Me.検索候補.Text
Unload Me
こちらが入力されています
検索フォームというのが
テキストボックスに名前を入力するとしたのリストボックスに
行番号と名前が表示されます
上記の状態の場合、リスト内をダブルクリックすると
別のユーザーフォームに名前以外の情報が任意のテキストボックスに表示されます
これを
ユーザーナンバーと名前をリストボックスに表示するように質問本文の赤字のみを編集した場合
リストボックスにはユーザーナンバーと名前が表示されるがそれをダブルクリックしても
フォームには情報が反映されない状態になっています。