ここから本文です

エクセルVBAのリストボックスについて教えてください。 下記のプログラムで...

ebo********さん

2015/11/1521:35:12

エクセルVBAのリストボックスについて教えてください。

下記のプログラムでユーザーフォームを動かしているのですが、うまく動きません。

データが複数あれば問題なく表示されるのですが、データが1行しかない時にエラーが出てしまいます。

内容的にはリストボックスのリスト表示をA3から記入してある行までって感じです。
どなたかよろしくお願いします。

Private Sub UserForm_Initialize()
Dim i As Long
With ListBox1
ListBox1.List = Range(Range("A3"), Cells(Rows.Count, 1).End(xlUp)).Value
End With

End Sub

閲覧数:
60
回答数:
1
お礼:
50枚

違反報告

ベストアンサーに選ばれた回答

プロフィール画像

カテゴリマスター

tai********さん

2015/11/1600:03:43

データが一つしかない時
= Range(Range("A3"), Cells(Rows.Count, 1).End(xlUp)).Value
は配列ではなく変数になってしまうのが原因かと思います。要素が一つの2次元配列にするには何かテクニックがあると思うのですがちょっと分かりかねています。でも簡単な解決法はあります。

A3セル一つを
A3:B3の配列にしてしまえばOKです。LISTのCOLUMNCOUNTが1でも2以上でもB3が空白でもそうでなくても問題はないと思います。

ListBox1.List = Range(Range("A3"), Cells(Rows.Count, 1).End(xlUp)).Value

の部分を

ListBox1.List = Range(Range("A3"), Cells(Rows.Count, 1).End(xlUp).Offset(, 1)).Value

とすればA3一つをリストに表示します。

質問した人からのコメント

2015/11/16 20:05:58

ありがとうございました。

助かりました。

みんなで作る知恵袋 悩みや疑問、なんでも気軽にきいちゃおう!

Q&Aをキーワードで検索:

Yahoo! JAPANは、回答に記載された内容の信ぴょう性、正確性を保証しておりません。
お客様自身の責任と判断で、ご利用ください。
本文はここまでです このページの先頭へ

「追加する」ボタンを押してください。

閉じる

※知恵コレクションに追加された質問は選択されたID/ニックネームのMy知恵袋で確認できます。

不適切な投稿でないことを報告しました。

閉じる