| 
    
     |  | いつも拝見させて頂いています。 
 五月くらいから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
 のように、奇数飛ばしでカウントアップしてしまいました。
 
 原因がわからず困ってます。助けてください。
 よろしくお願いいたします。
 
 |  |