|
いつも拝見させて頂いています。
五月くらいからVBAを始めた初心者です。
いつも使い慣れたFOR i NEXTを使って以外のようなコードを書いたら、
何故か0,2,4,6のように、まるでStep 2 と記述したような制御になってしまいました。
Sub Sample1()
Dim Rn As Long, Cn As Long, i As Long, c As Long, Rn1 As Long, Cn1 As Long
With Selection
    Rn = .Rows.Count
    Cn = .Columns.Count
End With
With Selection(1)
    Rn1 = .Row
    Cn1 = .Column
End With
    For c = 0 To Cn - 1
        For i = 0 To Rn - 1
        Debug.Print i
            If Cells(Rn1, Cn1).Offset(i, c) = "" Then
                Cells(Rn1, Cn1).Offset(i, c).Value = Cells(Rn1, Cn1).Offset(i - 1, c).Value
            End If
            i = i + 1
        Next i
        c = c + 1
    Next c
End Sub
コードの目的は、
選択範囲セル内を対象に、
空白セルを、値のある直近の上セルの内容にコピーするものです。
例えば、上記を実行すると、イミディエイトウィンドウに
0
2
4
6
のように、奇数飛ばしでカウントアップしてしまいました。
原因がわからず困ってます。助けてください。
よろしくお願いいたします。
|
|