使用循环

时间:2016-07-07 15:01:09

标签: excel vba loops macros copy-paste

我试图通过将不同工作表中的信息复制到摘要工作表中来进行总结。更具体地说,我试图将sheet3中的单元格O3和O4分别复制到sheet1中的单元格D3和E3中。然后我想继续将片材4中的单元格O3和O4分别复制到sheet1中的单元格D4和E4中,依此类推。

我对宏编码完全陌生,所以非常感谢任何帮助,谢谢。我假设一个人必须使用一个循环。

P.S工作表是以公司命名的(例如" DataGroup" not" Sheet3")是否会影响代码?

2 个答案:

答案 0 :(得分:1)

如果您希望循环浏览工作表,则不需要明确地引用它们,即Sheets("DataGroup")您可以使用Sheets(1),因此可以轻松地循环使用每个工作表整数。

e.g。

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

答案 1 :(得分:1)

如果您有一个包含一些工作表的工作簿,其中一个工作表被称为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