| 
    
     |  | 提示のコードを実行時エラーにならないように直すと こういうことかと思いますが、
 
 Private Sub Worksheet_SelectionChange(ByVal Target As Range)
 Dim R As Long
 For R = 4 To 112 Step 36
 If Intersect(Target, Cells(R, "A").Resize(14)) _
 Is Nothing Then Exit Sub
 UserForm1.ComboBox1.DropDown
 Exit For
 Next
 End Sub
 
 ↑これだと、Target が第1回目のLoopで指定された範囲、すなわち
 [A4:A27]にない限り、 Exit Sub してしまってますよね?
 
 >  For R = 4 To 112 Step 36
 でLoopしている目的は、
 Target がそこで指定された「複数の」セル範囲の「どれかの」
 範囲内にあったら、
 UserForm1のComboBox1をドロップダウンしてやる
 ことにあったのではないですか?
 
 もしそうなら、Targetと その複数セル範囲を順に調べていって
 Targetが調べるセル範囲とIntersectしていたら、
 UserForm1のComboBox1をドロップダウンして
 以後のLoopを中止する(Loopを抜ける = Exit For)
 するといった書き方にしないとまずいです。
 
 Private Sub Worksheet_SelectionChange(ByVal Target As Range)
 Dim R As Long
 For R = 4 To 112 Step 36
 If Not Intersect(Target, Cells(R, "A").Resize(14)) Is Nothing Then
 UserForm1.ComboBox1.DropDown
 Exit For
 End If
 Next
 End Sub
 
 |  |