|
こんばんは。
>
>下記のコードをFor〜Nextで、出来そうな気がしますが
>参考書を見てもわかりませんでした。
拝見すると、
A4:F17
A40:F53
A76:F89
A112:F125
A4,A40,A76,A112は、行が36毎に増えています。
又、
Range("A1").Value = ""
Range("A37").Value = ""
Range("A73").Value = ""
Range("A109").Value = ""
これも A1,A37,A73,A103と行が36毎に増えています。
しかも、
A4:F17 17-4=13
A40:F53 53-40=13
A76:F89 89-76=13
A112:F125 125-112=13
行の差が13と一定です。故に、セル範囲の大きさは、同じことがわかります。
行が項差36の等差数列だという規則性があることに着眼します。
すると、
Private Sub CommandButton1_Click()
Dim g0 As Long
For g0 = 0 To 3
If Not Intersect(ActiveCell, _
Range(Cells(g0 * 36 + 4, "A"), _
Cells(g0 * 36 + 17, "F"))) Is Nothing Then
Range("A" & g0 * 36 + 1).Value = ""
Exit For
End If
Next
End Sub
こんなコードになります。
規則性を見抜くことがすっごく大事ですよ!!
|
|