プロが教えるわが家の防犯対策術!

Private Sub UserForm_Initialize()
Dim MyList() As Variant
Dim i As Integer
With UserForm1.ListBox1

'1つだけ選択
.MultiSelect = fmMultiSelectSingle

'チェックボックス表示
.ListStyle = fmListStyleOption

ReDim Preserve MyList(Sheets.Count)

'シート名を取得
For i = 1 To Sheets.Count
MyList(i) = Sheets(i).Name
Next i

'リストボックスに追加
For i = 2 To UBound(MyList)
.AddItem MyList(i)
Next i
End With
End Sub
こちらで行っておりますがすべてのsheetではなくSheet1~10までのうち
1~4までをリストボックスに表示させたい場合はどのようなコードが適切でしょうか?

A 回答 (1件)

こんにちは



>Sheet1~10までのうち1~4までをリストボックスに表示させたい
表示のループを1~4にすれば良いだけでは?

「Sheet1~10」というのが、シートタブの左から1~4シートと解釈してよいのなら、

For i = 1 To Application.Min(4, Worksheets.Count)
.AddItem Worksheets(i).Name
Next i

で表示されます。
(シート数が4より少ない場合は、その数まで)
    • good
    • 0
この回答へのお礼

ありがとうございました。
問題なく表示されましたm(__)m

お礼日時:2023/05/15 17:59

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!