這是我在Sheet1樣品,(從B至F號只是= Sheet2的!B2這種公式)VBA,拖累公式那裏有空白單元格
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
我試圖插入下面的A列是未來7天的日期(已經達到了II),並將公式從B欄拖到F處。我不能使用RANGE B1:F7,因爲我將在7天后追加新的數據,所以我需要動態範圍。
這裏是我的嘗試,但是我在上INRANGE concatentation返回環路(錯誤=範圍OB object_global失敗):
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
感謝
感謝,它確實work.However我想明白你爲什麼建議不要使用這個:Set r = Intersect(ActiveSheet.UsedRange,Range(「A:A」))。Cells.SpecialCells(xlCellTypeBlanks)。謝謝! – Vincenzo
@Vincenzo當我測試該代碼行時,我複製了您提供的表格,因此UsedRange中沒有空白單元格。這導致VBA發出錯誤,因爲它無法在交集中找到任何xlCellTypeBlanks。因此,如果您有任何空白單元格低於該範圍,則應該刪除那些行(如果有很多)(Ctrl + End查找使用範圍中的最後一個單元格)。如果有許多空白行,並且您消除了它們,文件大小將會減少,並且性能會更好(計算時間更少)。 –