• ベストアンサー
※ ChatGPTを利用し、要約された質問です(原文:Excel VBA ユーザーフォームのリストボックスにRecordSetの値を入れた際のラベル行)

Excel VBA ユーザーフォームのリストボックスにRecordSetの値を入れた際のラベル行

このQ&Aのポイント
  • Excel VBAを使用して、ユーザーフォームのリストボックスにRecordSetの値を表示する方法について質問があります。
  • 現在の方法では、SQL文を生成し、シートのデータをRecordSetに格納し、2次元配列に変換してからリストボックスに表示しています。
  • しかし、この方法ではラベル行が空白になってしまいます。どのようにすればラベル行を表示することができるでしょうか?また、RecordSetから直接リストボックスに値を入れる方法はあるのでしょうか?

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

  • ベストアンサー
  • end-u
  • ベストアンサー率79% (496/625)
回答No.1

(1)(2)ともに無いようですね。 どうも http://support.microsoft.com/kb/164343/ja この頃からの仕様のようです。 Sheet上にデータを置いてRowSourceを使うか、 Labelコントロールなどで代用するしかないのかもしれません。 >RecordSetから直接リストボックスの要素を入れる方法... With Form1.ListBox1   .ColumnCount = 3   .Column = RS.GetRows() End With みたいな事でしょうか。 http://msdn.microsoft.com/ja-jp/library/cc364163.aspx 以下、余談ですが、 >.Open ThisWorkbook.FullName 本番コードもこのように、自Bookに対してADOでアクセスする場合、メモリリークが発生するようですから、 その点を把握された上で運用なさったほうが良いかと。 http://support.microsoft.com/kb/319998/ja

T-K-G
質問者

お礼

>>RecordSetから直接リストボックスの要素を入れる方法... >With Form1.ListBox1 >  .ColumnCount = 3 >  .Column = RS.GetRows() >End With >みたいな事でしょうか。 まさに想像通りです!!ありがとうございます。 ただ(1)も(2)もだめなら end-uさんの仰るとおりシートにコピーしてからRowSourceにするか ColumnHeadsをやめてフォーム上にラベルを貼り付ける力技になりそうです。 本当にありがとうございました。

関連するQ&A

専門家に質問してみよう