我正在嘗試編寫一個適用於各種工作表的宏。這些都是按月更新的。在這些工作表中,我們在工作表頂部有30到100行之間的關於當前月份的公式。下面我們有所有前幾個月的數字,但沒有公式。VBA Excel複製並插入不同數量的行數值和格式
我們每個月都複製最上面的一組行,並將它們插入到具有公式的行下面的相同格式的值中,以便我們可以再次開始該月份,但記錄上個月的數字。總之,我需要從行(X + 1)開始複製和插入所有列和(X行數)作爲值和格式。另外行(X + 1)不是工作表的結尾。
我在下面的代碼有一些開始,但第一列確實包含空白值。
Sub MonthlyReset()
Dim TotalImpacts As Worksheet
Dim LastImpacts As Range
Dim Counter As String
Set TotalImpacts = Worksheets("Total Impacts")
Counter = Application.WorksheetFunction.Match("STOP", ThisWorkbook.Sheets(TotalImpacts).Column(1), 0)
LastImpacts = ThisWorkbook.Sheets(TotalImpacts).Rows("1:" & Counter)
Rows(Counter).Resize(Counter).Insert
'Copying Impacts
ThisWorkbook.Sheets(TotalImpacts).LastImpacts.Copy
'Paste Values then Formatting
ThisWorkbook.Sheets(TotalImpacts).Range("A" & Counter + 1).PasteSpecial Paste:=xlPasteValues
ThisWorkbook.Sheets(TotalImpacts).Range("A" & Counter + 1).PasteSpecial Paste:=xlPasteFormats
'Clear Clipboard
Application.CutCopyMode = False
End Sub
如果你已經設置了工作表對象'TotalImpacts',那麼稍後引用它們時,而不是'Thisworkbook.Sheets(TotalImpacts).Range'只是使用'TotalImpacts.Range' – BobtimusPrime
如果我理解正確,有兩個電子表格中的區域 - 包含公式的「工作範圍」和僅包含每月更改的靜態數據的「數據範圍」。是否只有一個月的數據存儲在數據區? – BobtimusPrime
不。數據範圍隨着我們每增加一個月而增加。這就是我插入新行的原因。如果您要向下滾動,我們需要整理數月的數據。 –