ExcelのVBAを使用して、コンボボックスを表示しています。
With Sheets("Sheet1").cb型式
.List = Sheets("マスタ").Range("A2:A" & LastRow).Value
End With
指定した範囲内に多くののデータが保存されていれば問題ないのですが、
最低限のデータしかなければ、LastRowが「2」となり下記のようなエラー
が表示されます。
実行時エラー '381':
List プロパティを設定できません。プロパティの配列のインデックスが
不正です。
指定した範囲が、「A2:A2」となるのが原因だと思うのですが、回避する
方法はありませんでしょうか?
(LastRow+1とする方法もありますが、コンボボックスの一番したに空白
ができてしまうため、これ以外の方法を検討しています。)
よろしくお願いします。
No.1ベストアンサー
- 回答日時:
していることが多少分からない点があるのですが、たぶん、コントロールツールのコンボボックスだとして、List プロパティは配列を入れるためですから、
.List = 配列
で、代入式が配列になっていないからエラーになるのではありませんか?
With Sheets("Sheet1").cb型式
.ListFillRange = Sheets("マスタ").Range("A2:A" & LastRow).Address
End With
のようにすればよいのではありませんか?
ありがとうございます。
試してみましたが、「マスタ」シートの範囲ではなく、「Sheet1」シート
の範囲が表示されてしまいます。
なぜでしょう?
No.3
- 回答日時:
一応、もうこちらは読まないかもしれませんが、別の場所で、私の書き込みを読み落とされたようなので、念のために書いておきますが、
With Sheets("Sheet1").cb型式
.ListFillRange = Sheets("マスタ").Range("A2:A" & LastRow).Address
End With
「cb型式」の部分を、サブルーチンで、引数に取りたい時は、
With Sheets("Sheet1").Shapes.("cb型式").DrawingObject
とします。このような方法を使うか使わないかは、ご自由です。
No.2
- 回答日時:
level30さん、Wendy02 です。
With Sheets("Sheet1").cb型式
.ListFillRange = Sheets("マスタ").Range("A2:A" & LastRow).Address
End With
>試してみましたが、「マスタ」シートの範囲ではなく、「Sheet1」シート
>の範囲が表示されてしまいます。
そのとおりですね。
Sheets("マスタ").Range("A2:A" & LastRow).Address
これでは、単に、Range("A2:A" & LastRow).Address のアドレスと同じことでした。
シート名が入っていませんね。
.ListFillRange = "マスタ!" & Range("A2:A" & LastRow).Address
か、
.ListFillRange = "マスタ!A2:A" & LastRow
ですね。
失礼しました。
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
似たような質問が見つかりました
- Visual Basic(VBA) 2つ目のコンボボックスが動作しません。 3 2023/03/25 12:29
- Visual Basic(VBA) ユーザーフォームの書き出しで追加のご相談 ユーザーフォームの値をシートに書き出す際、コードが表示され 2 2022/08/05 10:58
- Excel(エクセル) Excel VBAどこが間違ってますか? 4 2023/07/17 10:04
- Excel(エクセル) B列に文字がはいったらA列に数字が入るマクロードを完成させたい 4 2023/04/21 01:58
- Visual Basic(VBA) vba 等間隔の列に対しての計算 6 2022/05/17 20:15
- Visual Basic(VBA) Excelのマクロ ブック間である範囲をコピー Workbooks(“a.xlsx“).Sheets 3 2022/05/12 17:02
- Visual Basic(VBA) エクセルのマクロについて教えてください。 1 2023/08/03 12:30
- Visual Basic(VBA) vbaのvlookup関数エラー原因を教えていただけないでしょうか。 3 2022/04/25 16:16
- Visual Basic(VBA) ExcelVBA ドロップボックスで月を選択するとそれ以降のデータが残るようにしたい。 3 2022/12/16 14:53
- Visual Basic(VBA) エクセルのマクロについて教えてください。 1 2023/03/07 14:05
このQ&Aを見た人はこんなQ&Aも見ています
-
「環境が人を育てる」って本当?環境によって人格や生き方は本当に変わるのか
環境が人生に与える影響は実際どれほどのものなのか、専門家の田宮由美さんに伺った。
-
エクセルのラベルの値(文字列)を垂直方向で中央揃えにするには?
Excel(エクセル)
-
エクセルVBAでフォームのListboxをスクロールするには?
その他(Microsoft Office)
-
UserForm1.Showでエラーになります。
工学
-
-
4
Excel vba ListBoxについて
Excel(エクセル)
-
5
コンボボックス3つを連動させたい
Visual Basic(VBA)
-
6
テキストボックスの番号を使ったFor~Next文について
Visual Basic(VBA)
-
7
VBA:ユーザーフォームのマルチページに色を付けたい。
Word(ワード)
-
8
VBAでブックを非表示で開いて処理して閉じる方法
Excel(エクセル)
-
9
VBA。リストボックスの値を別のユーザーフォームのテキストボックスに反映したい。
Access(アクセス)
-
10
EXCEL VBAで全選択範囲の解除
Excel(エクセル)
-
11
エクセルVBAで5行目からオートフィルタモードに設定したいたい
Excel(エクセル)
-
12
条件付書式で「=#N/A」に色を付けたい
Excel(エクセル)
-
13
IFステートの中にWithステートメントの始まり
Visual Basic(VBA)
-
14
オブジェクト型の変数にフォームを入れたい
Visual Basic(VBA)
-
15
テキストボックスの入力制限
Visual Basic(VBA)
-
16
ユーザーフォームを表示中にシートの操作をさせるには
Excel(エクセル)
-
17
ExcelVBAのユーザーフォームの中に線を引きたい
Visual Basic(VBA)
-
18
VB6,リストボックスの特定行の色変更は可能?
Visual Basic(VBA)
-
19
VBAでユーザーフォームを再表示させたい。
Excel(エクセル)
-
20
コンボボックスにリストが表示されません・・・
Excel(エクセル)
関連するカテゴリからQ&Aを探す
このQ&Aを見た人がよく見るQ&A
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
VBA 変数名に変数を使用したい。
-
C#でbyte配列から画像を表示さ...
-
vba フィルター 複数条件 3つ以...
-
定数配列の書き方
-
VBScript で ADO Streamオブジ...
-
Dir関数で読み取り順を操作でき...
-
デバイスマネージャーの一覧取得
-
順位をつける VB.NET2008
-
構造体配列内の文字列検索のよ...
-
2次元配列の初期値
-
エクセル(VBA)の空白配列の削除...
-
構造体配列の特定のメンバーをF...
-
コンボボックスのインデックス...
-
配列の中から最大値だけ取り出...
-
配列の中の最大値とそのインデ...
-
大量の変数を定義するにはどう...
-
Redim とEraseの違いは?
-
VB.NETの配列の限界を教えてく...
-
C++で作成したDLLにVBAから配列...
-
複数のtextboxの処理を一括で行...
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
VBA 変数名に変数を使用したい。
-
C#でbyte配列から画像を表示さ...
-
vba フィルター 複数条件 3つ以...
-
Dir関数で読み取り順を操作でき...
-
エクセルでXY座標に並べられた...
-
配列の中の最大値とそのインデ...
-
VB.NETの配列にExcelから読み込...
-
定数配列の書き方
-
Excel2010のinputboxで複数デー...
-
大量の変数を定義するにはどう...
-
構造体配列の特定のメンバーをF...
-
構造体配列内の文字列検索のよ...
-
Redim とEraseの違いは?
-
Segmentation Fault (メモリ制限?)
-
OutOfMemoryExceptionの回避策...
-
VBAでMODE関数をつくる
-
COBOLの基本的な事なので...
-
Excelのメモリ(配列)の上限は2G...
-
コンボボックスのインデックス...
-
VB6のメモリ解放に関して
おすすめ情報