我有這段代碼,我試圖在複製信息時添加一行。我遇到的問題是它在它們之間增加了一條線,並對信息進行擾頻。我有一個總共在底部的模板工作表,並且基本上希望它在行被填入時被按下。使用宏將行添加到Excel中
任何幫助將是巨大的
Sub SummurizeSheets()
Dim ws As Worksheet, wsSummary As Worksheet
Dim c As Range
Range("A4:D31").Select
Selection.ClearContents
Application.ScreenUpdating = False
Set wsSummary = Sheets("Summary")
' Set destination cell
Set c = wsSummary.Range("A4")
For Each ws In Worksheets
If ws.Name <> "Summary" Then
ActiveCell.EntireRow.Insert
ws.Range("D1").Copy
c.PasteSpecial (xlPasteValues)
ws.Range("E4").Copy
c.Offset(0, 1).PasteSpecial (xlPasteValues)
ws.Range("J39").Copy
c.Offset(0, 2).PasteSpecial (xlPasteValues)
' Move destination cell one row down
Set c = c.Offset(1, 0)
End If
Next ws
Application.ScreenUpdating = True
End Sub
嘗試改變'和'c.EntireRow.Insert' ActiveCell.EntireRow.Insert'和刪除此行'集合C = c.Offset(1,0)'。 – L42
沒有運氣。按照建議插入並移除。它只能從一張工作表中複製信息並添加適量的行。或者,如果我將它添加到編碼中的另一個地方,它不會添加行並刪除底部價格的「總計」文本,因爲它沒有添加任何行。 – Aussiehelper
好吧,即使你設置了你的'範圍',它在使用'插入方法'時會自動調整。所以當你插入時,你的'c'的值就變成'Range(「A5」)'。要正確寫入'c'(A4),請使用'Offset(-1,0)'。看我的帖子。 – L42