| 
    
     |  | いつもお世話になっております。今回もアドバイスのほど宜しくお願い致します。 ユーザーフォームにオプションボタン11個とリストボックス1つを配置しています。選択されているオプションボタンを調べて、その選択されている項目をリストボックスに表示させるため、以下の様に書いたのですが、オプションボタンの判定の仕方のが、For〜Nextでいいのか?また、Select Caseではなくもっとすっきりとしたコードにならないものかと考えております。ListBox1の設定には、RowSourceではなく、Listでもかまいません。宜しくお願い致します。
 
 Dim myRan As String
 Dim i, myRow As Integer
 
 With frmCBO
 For i = 1 To 11
 If .Controls("Opt" & i) = True Then Exit For
 Next i
 
 Select Case i
 Case 1
 myRow = Sheets("CBO").Range("M65536").End(xlUp).Row
 myRan = "CBO!M2:M" & myRow
 Case 2
 myRow = Sheets("CBO").Range("N65536").End(xlUp).Row
 myRan = "CBO!N2:N" & myRow
 Case 3
 myRow = Sheets("CBO").Range("O65536").End(xlUp).Row
 myRan = "CBO!O2:O" & myRow
 Case 4
 myRow = Sheets("CBO").Range("P65536").End(xlUp).Row
 myRan = "CBO!P2:P" & myRow
 Case 5
 myRow = Sheets("CBO").Range("Q65536").End(xlUp).Row
 myRan = "CBO!Q2:Q" & myRow
 Case 6
 myRow = Sheets("CBO").Range("R65536").End(xlUp).Row
 myRan = "CBO!R2:R" & myRow
 Case 7
 myRow = Sheets("CBO").Range("S65536").End(xlUp).Row
 myRan = "CBO!S2:S" & myRow
 Case 8
 myRow = Sheets("CBO").Range("T65536").End(xlUp).Row
 myRan = "CBO!T2:T" & myRow
 Case 9
 myRow = Sheets("CBO").Range("U65536").End(xlUp).Row
 myRan = "CBO!U2:U" & myRow
 Case 10
 myRow = Sheets("CBO").Range("V65536").End(xlUp).Row
 myRan = "CBO!V2:V" & myRow
 Case 11
 myRow = Sheets("CBO").Range("W65536").End(xlUp).Row
 myRan = "CBO!W2:W" & myRow
 End Select
 
 With .ListBox1
 .ColumnCount = 1          '列数の設定
 .RowSource = myRan         'リスト
 .ColumnWidths = "40 pt"
 End With
 End With
 
 
 |  |