- ベストアンサー
※ ChatGPTを利用し、要約された質問です(原文:Excel VBA ユーザーフォームのリストボックスにRecordSetの値を入れた際のラベル行)
Excel VBA ユーザーフォームのリストボックスにRecordSetの値を入れた際のラベル行
このQ&Aのポイント
- Excel VBAを使用して、ユーザーフォームのリストボックスにRecordSetの値を表示する方法について質問があります。
- 現在の方法では、SQL文を生成し、シートのデータをRecordSetに格納し、2次元配列に変換してからリストボックスに表示しています。
- しかし、この方法ではラベル行が空白になってしまいます。どのようにすればラベル行を表示することができるでしょうか?また、RecordSetから直接リストボックスに値を入れる方法はあるのでしょうか?
- みんなの回答 (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
お礼
>>RecordSetから直接リストボックスの要素を入れる方法... >With Form1.ListBox1 > .ColumnCount = 3 > .Column = RS.GetRows() >End With >みたいな事でしょうか。 まさに想像通りです!!ありがとうございます。 ただ(1)も(2)もだめなら end-uさんの仰るとおりシートにコピーしてからRowSourceにするか ColumnHeadsをやめてフォーム上にラベルを貼り付ける力技になりそうです。 本当にありがとうございました。