
検索のユーザーフォームでリストから氏名を選択する下記マクロを使っていますが、同姓同名がでてきたため、リストの表示にユニークな番号を追加したいのですができません。どのような変更をしたら良いか教えてください。
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で質問しましょう!
関連するカテゴリからQ&Aを探す
おすすめ情報
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
Excel VBA セルの値がおかしいです
-
VBA セル間のリンク修正につい...
-
VBAでCOPYを繰り返すと、処理が...
-
VBAから書き込んだ条件付き初期...
-
WindowsのOutlook を VBA から...
-
マクロの記録を使用したマクロ...
-
vbsでのwebフォームへの入力制限?
-
ダブルクリックで貼り付けた画...
-
エクエルのVBAコードについて教...
-
ExcelのVBAコードについて教え...
-
vbs ブック共有を解除
-
VBAでFOR NEXT分を Application...
-
Excelのマクロについて教えてく...
-
Vba WorkBooks.Openについて教...
-
Vba 型が一致しません(エラー1...
-
【ExcelVBA】5万行以上のデー...
-
VBAでセルの書式を変えずに文字...
-
[Excel VBA]特定の条件で文字を...
-
【VBA】値を変更しながら連続で...
-
vba textboxへの入力について教...
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
ユーザーフォームの表示を追加...
-
CGIフォーム、タグの表示につい...
-
HTMLコード内に、コード各部の...
-
HTMLでぶら下げインデントは出...
-
アクセス2000(ADO)のレコード更...
-
ホームページビルダーで作った...
-
アメブロでの行揃えの記述方法
-
リンク先のURLを別の文字にする...
-
Excel で下線が消えてしまうの...
-
パワーポイント:テキストボッ...
-
パワーポイントの見出しの線の...
-
Google Keepで数字に勝手に下線...
-
URLが青くならない
-
outlook2003にて新規メッセージ...
-
アンダースコア(下線)のあるメ...
-
Wordでレイアウトを変えないで...
-
Word で下線の色の変え方
-
HTMLのbody内に<style>~</styl...
-
エクセル:セル内の文字列の下...
-
Latexにおける下線のひき方のコト
おすすめ情報
リストボックスの列を行番号、番号、氏名の3列表示にしたく、リストボックスのプロパティでcolumnCountを3にして下記コードに変更して見ましたが表示は行番号と氏名の2列しか表示されません。何処を変更したら良いか教えてください。
Me.lst_リスト.List(wLstRow, 1) = Worksheets("master").Cells(wRow, 6)
Me.lst_リスト.List(wLstRow, 2) = Worksheets("master").Cells(wRow, 7)