0

我需要一些有关 MS Excel 宏的帮助。我有 1,000 多行,但我只需要将一些复制到另一个工作表。列已经按升序到降序排序。简而言之,宏只会复制几行,如果单元格“M26”的值为 = 6,那么宏只会将 6 行复制到另一个工作表。

  x = 2
     Do While Cells(x, 1) <> ""
     If Cells(x, 3) = "Africa" Then
        Worksheets("srcSheets").Rows(x).Copy
        Worksheets("destSheet").Activate
        erow = Worksheets("destSheet").Cells(Rows.Count, 1).End(xlUp).Offset(1, 0).Row
        ActiveSheet.Paste Destination:=Worksheets("destSheet").Rows(erow)
     End If
         Worksheets("srcSheets").Activate
         x = x + 1
     Loop
4

1 回答 1

0

这会将行 2 到 x 从 sheet1 复制到 sheet2,其中 x 是 sheet2 A1 中的数字。不过,您可能需要添加一些错误处理。编辑它以满足您的需求。

Sub copyrows()

Dim x As Integer

x = Worksheets("sheet2").Range("A1").Value

Worksheets("sheet1").Rows("2:" & x).Copy Destination:=Worksheets("sheet2").Rows(1)

End Sub
于 2013-09-14T17:14:06.930 回答