VBA复制整行List

我有以下代码:

Sub test() Dim r As Range, rng As Range Set r = Range("a6", Range("a6").End(xlDown)) For Each rng In r If rng <> rng.Offset(-1) Then 'if range is not Dim ws As Worksheet Set ws = Worksheets.Add ws.Name = rng Else End If Next rng End Sub 

这将通过A6到AXX的范围,并为不同的名称创build工作表。 我不知道如何将每一行的内容复制到每个创build的工作表中。

在这里输入图像说明

所以我希望所有的股票变化被复制到新创build的工作表股票变化。

我知道有以下几种方法:

  Range(Cells(rng, 1), Cells(rng, 10)).Copy 

但我不知道如何将这些粘贴到不同的工作表。 有人可以请教或指导。 谢谢

另外当我尝试运行这个macros有时会说:

这个名字已经采取了不同的尝试。

但是没有这个名字的工作表。

您只需引用/指定要使用的工作表。

试试这个(我包括一个input框来纠正表单的名称,如果它已经被采取:

 Sub test_Nant() Dim r As Range, rng As Range, ws As Worksheet, aWs As Worksheet Set aWs = ActiveSheet Set ws = Worksheets.Add On Error GoTo SheetRename ws.Name = "Changes list" GoTo KeepLooping SheetRename: ws.Name = InputBox("Choose another name for that sheet : ", , rng.Value) Resume Next KeepLooping: With aWs Set r = .Range(.Range("a6"), .Range("a6").End(xlDown)) For Each rng In r If rng <> rng.Offset(-1) Then 'if range is not .Range(.Cells(rng.Row, 1), .Cells(rng.Row, 10)).Copy Destination:=ws.Range("A1") Else End If Next rng End With End Sub