検索のユーザーフォームでリストから氏名を選択する下記マクロを使っていますが、同姓同名がでてきたため、リストの表示にユニークな番号を追加したいのですができません。どのような変更をしたら良いか教えてください。
Private Sub SetListBox() '← リストボックスに表示する処理追加
Dim wRow As Long
Dim wLstRow As Long
Me.lst_リスト.Clear '← リストボックスを初期化
wLstRow = 0
For wRow = 2 To Worksheets("master").Range("F1").CurrentRegion.Rows.Count
If Me.txt_氏名 = "" Then
'検索する氏名が入力されていない場合は、
'「master」シートの2行目~最終行の行番号と顧客名をリストボックスにセット
Me.lst_リスト.AddItem ""
Me.lst_リスト.List(wLstRow, 0) = wRow
Me.lst_リスト.List(wLstRow, 1) = Worksheets("master").Cells(wRow, 7)
wLstRow = wLstRow + 1
Else
If InStr(1, Worksheets("master").Cells(wRow, 7), Me.txt_氏名, vbTextCompare) > 0 Then
'検索する対象者名が一部一致した場合、行番号と対象者名をリストボックスにセット
Me.lst_リスト.AddItem ""
Me.lst_リスト.List(wLstRow, 0) = wRow
Me.lst_リスト.List(wLstRow, 1) = Worksheets("master").Cells(wRow, 9)
wLstRow = wLstRow + 1
End If
End If
Next
End Sub
No.2ベストアンサー
- 回答日時:
No1です
>行番号と氏名の2列しか表示されません
複数列の表示ができているのなら、数だけの話なので、後は同じ要領です。
(単数と複数では違いがありますが・・)
何をどうなさっているのかこちらからはまったくわかりませんけれど、VBAにはデバッグ用のツールもいろいろ用意されていますので、それらを利用してデバッグしてみてください。
単なる勘違いやタイポ等が原因のような気がしますが・・
No.1
- 回答日時:
こんばんは
リスト表示を2列にして表示したいのか、1列のままで「行番号と名前」を連結して表示したいのかどちらなのでしょうね。
前者なら、列数を設定しておく必要があります。
以下のような感じでしょうか?
http://officetanaka.net/excel/vba/tips/tips158.htm
列数や列幅の設定はVBAからも行えます。
https://www.kurumico.com/excel-vba-userform-list …
後者の場合は、表示する内容の連結したテキストを作成して、それを表示させれば良いでしょう。
例えば、
Me.lst_リスト.List(wLstRow) = wRow & ” ” & Worksheets("master").Cells(wRow, 7)
みたいな感じです。
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
似たような質問が見つかりました
- Visual Basic(VBA) ユーザーフォーム「frm_基本❶」を立ち上げると新規で入力する行数を右下のNoとして表示しています。 1 2023/03/16 19:02
- Excel(エクセル) VBAの指示の内容 昨日こちらでご教示頂いたのですが初心者な為、一つ一つの指示が何をやっているのかわ 2 2022/10/25 18:08
- Visual Basic(VBA) VBA処理追加 こちらでご教示頂いたのですが回答完了させてしまいましたのでこちらからまた質問させてく 2 2022/10/27 09:57
- Visual Basic(VBA) いつもお世話になっております、VBAで教えて頂きたいのですが 2 2022/05/05 22:20
- Visual Basic(VBA) VBA Userformで一部別シートに転記がしたいのですが 2 2023/05/24 13:08
- Visual Basic(VBA) VBAで質問ですが、皆さんはどの様に導き出しているのでしょうか? 6 2022/05/03 21:53
- Visual Basic(VBA) 検索のユーザーフォームの表示について 1 2023/03/27 23:31
- Visual Basic(VBA) VBAが止まります。 3 2022/08/31 14:09
- Visual Basic(VBA) VBAでoutlook365が起動しません。 4 2022/08/25 13:31
- Excel(エクセル) VBAについて 3 2022/06/19 18:19
関連するカテゴリからQ&Aを探す
おすすめ情報
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
面白いタグ
-
リンク先のURLを別の文字にする...
-
URLが青くならない
-
Excel で下線が消えてしまうの...
-
Google Keepで数字に勝手に下線...
-
パワーポイント:テキストボッ...
-
HTMLのbody内に<style>~</styl...
-
PivotTableのデータソースを一...
-
ワードVBA 下線部のついた部分...
-
Wordでレイアウトを変えないで...
-
ある特定の表の枠線を消す方法は?
-
WORD2010 ハイパーリンクの下線...
-
URLを ここ にする方法
-
AppleのNumbersというアプリで...
-
GOOブログパーツ ドラえも...
-
ワードの表で下線と文字の入力
-
ExcelのVBAで下線のついている...
-
CSSでインラインフレームを非表...
-
E-mail中の文章に赤で下線を引...
-
小数点以下の数字に下線を引くには
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
リストマークの位置がずれてい...
-
ユーザーフォームの表示を追加...
-
Scratchでクイズのゲーム制作を...
-
HTMLでぶら下げインデントは出...
-
省略できるHTMLについて
-
bodyとtdのフォントサイズの依...
-
『タグの無効化』の表示方法に...
-
ホームページの文字点灯
-
複数タグ指定してHTMLを取得したい
-
HTMLで、2行目以降をほぼ1字下...
-
リンク先のURLを別の文字にする...
-
Excel で下線が消えてしまうの...
-
URLが青くならない
-
パワーポイント:テキストボッ...
-
Google Keepで数字に勝手に下線...
-
アンダースコア(下線)のあるメ...
-
AppleのNumbersというアプリで...
-
Latexにおける下線のひき方のコト
-
Word で下線の色の変え方
-
HTMLのbody内に<style>~</styl...
おすすめ情報
リストボックスの列を行番号、番号、氏名の3列表示にしたく、リストボックスのプロパティでcolumnCountを3にして下記コードに変更して見ましたが表示は行番号と氏名の2列しか表示されません。何処を変更したら良いか教えてください。
Me.lst_リスト.List(wLstRow, 1) = Worksheets("master").Cells(wRow, 6)
Me.lst_リスト.List(wLstRow, 2) = Worksheets("master").Cells(wRow, 7)