0

图片:公式和范围区域

公式和范围区域

所以我希望我的公式计算范围 $E$27:$S$42 但只要运行宏,公式中提到的范围就会减少一列。宏进行更改后,如何保持 $E$27:$S$42 的范围?

(宏删除旧的一周并通过复制列 R 添加新的未来一周)。VBA 是一个 for 循环,用于对 20 个类似于所示的块进行这些更改。

代码:

Sub DeleteAndAddWeek()


Dim i As Integer
For i = 22 To 617 Step 22
DoEvents

'Select Sheet
Sheets("Entry Sheet").Select

'Delete Old Date in Column E
Range(Cells(i + 1, 5), Cells(i + 20, 5)).Delete Shift:=xlToLeft

'Copy column R to Column S (new Week)
Range(Cells(i + 1, 18), Cells(i + 20, 18)).AutoFill Destination:=Range(Cells(i + 1, 18), Cells(i + 20, 19)), Type:=xlFillDefault
Range(Cells(i + 5, 19), Cells(i + 20, 19)).ClearContents

'Copy dates into Overview Sheet
Range(Cells(23, 5), Cells(23, 19)).Copy
Sheets("Team Forecast Overview").Select
Range("D2:R2").PasteSpecial xlPasteValues

'Copy summary rows into Overview Sheet
Sheets("Entry Sheet").Select
Range(Cells(i + 2, 5), Cells(i + 2, 19)).Copy
Sheets("Team Forecast Overview").Select
Range(Cells(((i / 22) + 2), 4), Cells(((i / 22) + 2), 18)).PasteSpecial xlPasteValuesAndNumberFormats


Next i


End Sub
4

0 回答 0