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 がシート 1 からシート 2 にコピーされます。ここで、x はシート 2 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 に答える