| 
    
     |  | こんにちは。 
 動くか動かないか、という話なら
 >Range(Cells(cellcnt1, "E"), Cells(cellcnt2, "I"))
 ↓
 Range(Cells(cellcnt1, "E"), Cells(cellcnt2, "I")).Select
 で動くかと思います。
 
 他には、
 ループ内で何度も
 >Range("C8:C11")
 の値を消しているのが無駄です。
 MsgBoxの戻り値による分岐も、ループの外で良いでしょう。
 また、常に
 >cellcnt2 = cellcnt1
 なら、cellcnt2は不要でしょう。
 
 もうちょっと整理すると、ループも必要なさそうです。
 Private Sub CommandButton4_Click()
 
 'セル番地のカウント'
 Dim a As Integer
 a = Range("C9").Value
 
 If MsgBox("計算1の結果をクリアしますか?", 1, "MSGタイトル") = vbOK Then
 Range("C8:C11").ClearContents
 With Range("E9:I9").Resize(a)
 .ClearContents
 .Borders.LineStyle = xlNone
 End With
 End If
 
 End Sub
 
 
 |  |