• ベストアンサー
※ ChatGPTを利用し、要約された質問です(原文:VBA ユーザーフォーム リストボックス)

VBAユーザーフォームでリストボックスの表示方法

このQ&Aのポイント
  • VBAユーザーフォームを使用してリストボックスにセルの値を表示する方法について教えてください。
  • リストボックスに対象セルの値を表示するためには、UserForm_Initializeイベント内でListBox1.Listプロパティを使用します。
  • 例えば別のシートのセルを表示したい場合、ListBox1.Listに対象のセル範囲を代入する前に、該当するシート名を指定する必要があります。

質問者が選んだベストアンサー

  • ベストアンサー
  • HohoPapa
  • ベストアンサー率65% (455/693)
回答No.1

提示のコードを踏襲するのでれば  With ThisWorkbook.Sheets("sheet3")   ListBox1.List = Range(.Range("M5"), .Cells(Rows.Count, 14).End(xlUp)).Value  End With こんな感じと思います。

yyrd0421
質問者

お礼

ありがとうございます。 目的が果たせました。

その他の回答 (1)

  • SI299792
  • ベストアンサー率47% (772/1616)
回答No.2

  ListBox1.List = Range(Sheets("sheet3").Range("M5"), Sheets("sheet3").Cells(Rows.Count, 14).End(xlUp)).Value ですね。前の方の回答でもいいです。 なぜこうなるか、次のように分解すればわかると思います。   Set Cell1 = Sheets("sheet3").Range("M5")   Set Cell2 = Sheets("sheet3").Cells(Rows.Count, 14).End(xlUp)   ListBox1.List = Range(Cell1, Cell2).Value ’ 1つの式にまとめると、バグの元です。私ならこうします。 '   Dim Row As Long '   Row = Sheets("sheet3").Cells(Rows.Count, "N").End(xlUp).Row   ListBox1.List = Range("sheet3!M5:N" & Row).Value エラーが出ても変数Row を見ればどこが悪いかわかるからです。

yyrd0421
質問者

お礼

ご丁寧な解説までしていただき本当にありがとうございます。 また一つ勉強になりました。

関連するQ&A