我想通过将来自不同工作表的信息复制到摘要工作表中来进行汇总。更具体地说,我试图将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