ある空のセルがある式を下にドラッグし、VBA、これはシート1の私のサンプルは
A B C D E F
11/12/2016 300 4 4 3 85
12/12/2016 23 4 4 2 87
13/12/2016 21 4 4 2 79
14/12/2016 67 4 4 4 76
私は下に挿入しようとしています(BからFまでの数字は、式の単純= Sheet2の!のB2の一種です)列Aは次の7日間の日付(これは私が達成したものです)を計算し、B列からB列に数式をドラッグします。RANGE B1:F7を使用することはできません。だから私はダイナミックレンジが必要です。おそらく、
Sub test()
Dim r As Range Set r = Intersect(ActiveSheet.UsedRange, Range("A:A")).Cells.SpecialCells(xlCellTypeBlanks)
r(1).Formula = "=Today()"
r(2).Formula = "=Today()+1"
r(3).Formula = "=Today()+2"
r(4).Formula = "=Today()+4"
r(5).Formula = "=Today()+5"
r(6).Formula = "=Today()+6"
Dim inRange As Range
Set inRange = Sheets("Sheet1").Range("B" & i & ":" & "F" & i)
For i = 1 To 7
Sheets("Sheet1").Range("B1:F1").Select
Selection.AutoFill Destination:=Range(inRange), Type:=xlFillDefault
Next i
End Sub
おかげ
おかげで、それはありませんSet r = Intersect(ActiveSheet.UsedRange、Range( "A:A"))。Cells.SpecialCells(xlCellTypeBlanks)。ありがとう! – Vincenzo
@ Vincenzoそのコード行をテストしたとき、私はあなたが提供したテーブルをコピーしたので、UsedRangeに空白のセルはありませんでした。これにより、交差点にxlCellTypeBlanksが見つからないため、VBAでエラーが発生しました。したがって、その範囲の下に空白のセルがある場合は、Ctrl + Endキーを使用してその行を削除して、使用されている範囲の最後のセルを見つけます。空白の行が多数あり、それらを削除すると、ファイルサイズが小さくなり、パフォーマンスが向上します(計算時間が短くなります)。 –