excel vba按照特定顺序从一张纸复制到另一张纸

时间:2016-06-10 18:04:00

标签: excel vba excel-vba macros

我有一个excel文件的这个问题。 我在这个文件中有200张,其中总是在相同的单元格中(范围O2:O6)我有一些值要复制到同一列中的唯一表单(名为“Final”)C.I 我还想订购这些我复制和粘贴的值;我会(也许)使用命令if if来理解顺序:实际上在所有工作表的单元格A1中都有该工作表的引用名称(某些工作表有名称A,其他B,其他C);我必须放按照表格中的顺序,在名称为A的纸张的值之前,然后是名称为B的值,然后是名称为C的纸张的值。所以在实践中我会这样做,“如果(在每张纸的单元格A1中出现字母A) )然后(复制相对值)“ 然后是该单元格中名称为B的工作表的所有值,然后命名为C. 你能帮帮我吗?

2 个答案:

答案 0 :(得分:1)

这将让你开始,它循环通过工作表并将范围复制到“最终”工作表。

它不会按顺序复制工作表,您可以使用我的示例并创建一个可以执行此操作的循环。

Sub Do_Something()
    Dim sh As Worksheet
    Dim ws As Worksheet


    Set ws = Sheets("Final")

    With ws
        For Each sh In Sheets
            If sh.Name <> ws.Name Then
                sh.Range("O2:O6").Copy .Cells(.Rows.Count, "C").End(xlUp).Offset(1)
            End If
        Next sh
    End With

End Sub

答案 1 :(得分:0)

但我的问题是订单,复制是好的。我想复制那个范围,但是从某个工作表开始,然后从其他工作表复制,关于该单元格中包含的名称