我想通過將來自不同工作表的信息複製到摘要工作表中來進行彙總。更具體地說,我試圖將sheet3中的單元格O3和O4分別複製到sheet1中的單元格D3和E3中。然後,我想繼續前進,並將單元格O3和O4從表單4分別複製到單元格1中的單元格D4和E4,以此類推我的所有表單。使用循環宏複製和粘貼
我對宏編碼完全陌生,所以非常感謝任何幫助,謝謝。我假設你將不得不使用循環。
P.S工作表是以公司的名稱命名的(例如「DataGroup」而不是「Sheet3」)會影響代碼嗎?
我想通過將來自不同工作表的信息複製到摘要工作表中來進行彙總。更具體地說,我試圖將sheet3中的單元格O3和O4分別複製到sheet1中的單元格D3和E3中。然後,我想繼續前進,並將單元格O3和O4從表單4分別複製到單元格1中的單元格D4和E4,以此類推我的所有表單。使用循環宏複製和粘貼
我對宏編碼完全陌生,所以非常感謝任何幫助,謝謝。我假設你將不得不使用循環。
P.S工作表是以公司的名稱命名的(例如「DataGroup」而不是「Sheet3」)會影響代碼嗎?
如果您希望循環顯示錶格,則不需要明確引用它們,即Sheets("DataGroup")
,那麼可以使用Sheets(1)
,因此可以很容易地通過每個整數進行循環。
例如
Sub Copying()
Dim i As Integer, j As Integer
j = Sheets.Count
For i = 2 To j
Sheets(1).Range("D" & i + 1) = Sheets(i).Range("O3").Value
Sheets(1).Range("E" & i + 1) = Sheets(i).Range("O4").Value
Next i
End Sub
如果有一個包含工作簿一些工作表,並將它們中的一個被稱爲Summary
,那麼這個代碼將來自每個其他工作表的單元格A1的值複製到的Summary
A列。您可以根據自己的需要進行調整。
Dim ws As Worksheet, rowDest As Integer
rowDest = 1
For Each ws In ThisWorkbook.Worksheets
If ws.Name <> "Summary" Then
Worksheets("Summary").Cells(rowDest, 1).Value = ws.Range("A1").Value
rowDest = rowDest + 1
End If
Next ws
到目前爲止你做了什麼?選中此項可幫助您啓動[link](http://stackoverflow.com/questions/37107574/copy-and-paste-specific-cells-from-one-worksheet-to-another) –
打開宏錄製器,然後請按照上面概述的步驟進行操作。這會給你一些代碼開始,然後通讀[如何避免'.Select'](http://stackoverflow.com/questions/10714251/how-to-avoid-using-select-in-excel-vba -macros)將其收緊,並學習如何直接處理數據。 – BruceWayne
除非需要複製格式,否則不要在Excel中使用複製和粘貼。只需使用單元格/範圍及其值並設置它們即可。 – Mono