VBA удаляет столбец и добавляет новый столбец. Как обратиться к той же области диапазона в формуле после внесения этих изменений? - PullRequest
0 голосов
/ 13 июня 2018

Изображение: область формулы и диапазона

Formula and range area

Поэтому я хочу, чтобы моя формула подсчитывала диапазон $ 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
...