将数据复制/粘贴到统一列表中

时间:2016-05-06 15:11:41

标签: excel vba excel-vba

我坚持如何构建一段代码:

  1. 循环显示以数字673开头的所有工作表:(例如673:绿色,673:蓝色)
  2. 从第5行到最后一行使用数据选择这些工作表中的数据 - 适用于此的代码(由其他用户慷慨提供)是

    Dim report As Worksheet
    Set report = Excel.ActiveSheet    
    
    With report
    .Range(.Cells(5, "K"), .Cells(.Rows.Count, "K").End(xlUp)).EntireRow.Select
    End With
    
  3. 选择“颜色”工作表
  4. 将行粘贴到下一个可用的空白行。可能有多达40/50的工作表将数据粘贴到“颜色”工作表中,因此我需要将数据添加到下一个可用行。
  5. 提前谢谢。

1 个答案:

答案 0 :(得分:0)

  1. 循环工作簿中的工作表并检查其名称

    For Each sheet in ActiveWorkbook.Worksheets
        If Instr(sheet.Name,"673")>0 Then
            ...
        End If
    Next
    
  2. 很好,但你想要复制。

    Selection.Copy
    
  3. 只需选择。

    Worksheets("Colours").Select
    
  4. 找到最后一行,然后转到下一行。通过从下往上查找第一个填充的行来找到该行。注意我使用了显式工作表引用,这是不必要的,因为您已经选择了工作表。但是,如果您要在代码中处理多个工作表上的数据,这是更好的形式。

    lastRow = Worksheets("Colours").Cells(Worksheets("Colours").rows.count,1).End(xlUp).Row
    Worksheets("Colours").Cells(lastRow + 1, 1).Select
    Activesheet.Paste