2016-09-02 4 views
1

は、私は、次のコードを持っています。これは、列Bの最後の空でないセルを見つけて、A2000から問題のセルの列BにオートフィルAを開始します。 しかし、列Aの最後の空でないセルからオートフィルを開始する必要があります自動提出される空行は1つだけです。これは、通常、列Aと列Bの間に空のセルが1つしかないため、AutoFillNextなどの他の決定がある可能性があるため、重要です。 私はちょうどこのように、細胞数を除去することにより、コードを変更してみました:予想通りVBA - - 最後の非からオートフィルと増分空のセル

Destination:=Range("A:A" & lastRow) 

は、それが動作しません。

+0

あなたが 'lastRow'変数を作成する場合は、より明確に/容易になり、そして' LASTROW =細胞(Rows.Count、1).END(XlUp).Row'好きです、とのようにすることを使用する場合があります開始場所? – BruceWayne

答えて

2

私は、Range.AutoFill methodではなくRange.FillDown methodを使用する傾向があります。日付値をインクリメントしようとしている場合

Dim lastRow As Long 
with activesheet 
    lastRow = .Range("B" & .Rows.Count).End(xlUp).Row 
    .Range(.Cells(.Rows.Count, "A").End(xlUp), .Cells(lastRow, "A")).FillDown 
end with 

は、Range.DataSeriesがより適切であろう。

Dim lastRow As Long 
With ActiveSheet 
    lastRow = .Cells(.Rows.Count, "B").End(xlUp).Row 
    With .Range(.Cells(.Rows.Count, "A").End(xlUp), .Cells(lastRow, "A")) 
     .DataSeries Rowcol:=xlColumns, Type:=xlChronological, _ 
        Date:=xlDay, Step:=1, Trend:=False 
    End With 
End With 
+0

それは動作します。ただし、結果を増分するのではなくコピーします。列Aでは、日付を保存しています。利用可能な最後の日付をドラッグするだけで、それも増分されます。これは私がマクロを記録するために使用するオリジナルの方法であり、オートフィルはVBAの提案です。その後、コードを修正しましたが、オートフィルを変更することはできません。 – sretko

+0

上記のリビジョンを参照してください。増分された日付は、元の質問で言及するものであったかもしれません。おそらく、元の質問を編集してそれを反映させることができます。 – Jeeped

関連する問題