ユーザーフォーム上でコンボボックスを作成しました。
リストの元となるデータがあるセル範囲に名前を付け、
コンボボックスのRowSourceにその名前を入れてリストにしています。
リストを変更するときにはデータを作り変え、マクロでそのセル範囲に名前を付け替えるようにしています。
問題は前のリストの数が3つだったとし、次にリストの数を5つになるように作り変えた時にコンボボックスの表示が上3つまでしか表示されないのです。
リストのスクロールもできない状態です。
Visual Basicの画面でコンボボックスをいじったら直っています。
名前のセル範囲、データの変更はきちんと反映しています。
List Rows等のプロパティをいじってみても直りません。
どこを設定しなおせばいいのでしょうか。OSはMe、Excel2000です。
No.2ベストアンサー
- 回答日時:
ソースが無いと良く判らないです。
UserForm に CommandButton と ComboBox をおいて下記にようにしてみましたが、問題無く表示されます。(Excel97ですが。。)
意味が違いますか?
'標準モジュールここから*********************************************
Sub FrmShow()
UserForm1.Show
End Sub
'標準モジュールここまで*********************************************
'UserFormのモジュールここから***************************************
Private Sub CommandButton1_Click()
Call Test
ComboBox1.RowSource = "myList"
End Sub
'***適当に範囲を作り名前を付ける***
Sub Test()
Dim LRow As Integer, myR As String
Randomize
LRow = Int((30 - 5 + 1) * Rnd + 5)
With ThisWorkbook.Worksheets(1)
On Error Resume Next
ThisWorkbook.Names("myList").Delete
.Columns(1).Clear
For i = 1 To LRow
.Range("A" & i) = i
Next i
myR = "=" & .Name & "!" & .Range("A1:A" & LRow).Address
ThisWorkbook.Names.Add Name:="myList", RefersTo:=myR
End With
End Sub
'UserFormのモジュールここまで***************************************
回答ありがとうございました。
フォームを閉じる時にUserForm1.hideでやっていたのが大間違いでした。
Unload でしたらちゃんと初期化されてうまくいきました。
リストの設定方法も参考になりました。
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
似たような質問が見つかりました
- Excel(エクセル) エクセルについて教えてください。 2 2023/06/14 11:11
- Excel(エクセル) excelにおける転記マクロの書き方 2 2023/05/12 03:16
- Excel(エクセル) 出勤簿の土、日、休日に色付けできない 2 2022/08/04 20:10
- Excel(エクセル) エクセルの数式について教えてください。 7 2023/06/18 10:16
- HTML・CSS VB.net コンボボックス 2 2022/06/30 20:37
- Visual Basic(VBA) ExcelVBA ドロップボックスで月を選択するとそれ以降のデータが残るようにしたい。 3 2022/12/16 14:53
- Excel(エクセル) エクセルでキーリストからデータを取り出して1枚1枚印刷するには? 11 2022/06/27 09:52
- Excel(エクセル) [入力規則]のリストボックス内の“不揃いの林檎たち” 3 2022/09/15 18:32
- Excel(エクセル) IF 関数で「〇〇 という文字を含む場合」の分岐処理で表示された数字はSUMで数字集計できますか? 3 2022/08/02 16:29
- Excel(エクセル) [オートフィルター]機能について 3 2023/02/04 14:32
関連するカテゴリからQ&Aを探す
おすすめ情報
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
ArduinoのジャイロモジュールMP...
-
ユーザー定義関数に#NAME?が返...
-
Excel VBAでリンク切れをチェッ...
-
モジュールの最大数はいくつな...
-
Excel VBA 定義されたプロージ...
-
VBAで別モジュールへの変数の受...
-
VBのフォームモジュールと標準...
-
Workbook.BeforeSave イベント...
-
【vba】フォームに書いてあ...
-
Excel VBA 『Call』で呼び出す...
-
Form間の値の渡し方
-
グラフのX,Y座標を取得したい
-
現在アクティブなフォーム名を...
-
ユーザー定義関数をEXCELに常駐...
-
シートモジュールで使う変数を...
-
Excelで時刻になったら知らせて...
-
Visual Basicプログラムのエラ...
-
エクセルVBAでシートモジュール...
-
標準モジュール Public mOnTime...
-
モジュールとは何ですか
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
Excel VBAでリンク切れをチェッ...
-
ユーザー定義関数に#NAME?が返...
-
VBAで別モジュールへの変数の受...
-
VBでグローバル変数を宣言するには
-
エクセルVBAでシートモジュール...
-
VBA This Workbookモジュール...
-
モジュールの最大数はいくつな...
-
Excel VBAで、ユーザーフォーム...
-
VBAで旧字体を異字体に一括で変...
-
Access VBA標準モジュールにつ...
-
VBA モジュールで共通に使う変...
-
'Range'メソッドは失敗しました
-
グラフのX,Y座標を取得したい
-
モジュールとは何ですか
-
Excel VBA 『Call』で呼び出す...
-
プラグイン、ライブラリ、コン...
-
【vba】フォームに書いてあ...
-
モジュールからフォームのボタ...
-
モジュールとクラスの違いって...
-
acwzlibとは?
おすすめ情報