将列复制到最后一行从一张纸到另一张纸

时间:2020-11-11 09:44:26

标签: excel vba

我遇到以下问题。我有一个数组KWarray,其中包含Weeknumbers。该数组用于在工作表“导入”中设置过滤器。现在,我的宏会自动将过滤器设置为数组的每个元素,制作一个新工作表,并将几列(仅包含数据)复制到该新工作表中。我这样做是因为原始数据包含很多不必要的基于机器的列,这些列我不需要。使用复制的数据,我以后需要制作图表。但是就目前而言,每次运行宏时,都会出现“运行时错误1004”,“应用程序定义的错误或对象定义的错误”。你们能看到错误吗?

Dim x As Long
Dim lrow2 As Long
Dim ws As Worksheet
Dim lrowC As Long

Dim Data1 As Range
Dim Data2 As Range

For x = LBound(KWarray) To UBound(KWarray)

    Sheets("Import").Range("A:AS").Autofilter Field:=2, Criteria1:=KWarray(x)
    'lrowC = Sheets("Import").Cells(Rows.count, 1).End(xlUp).Row
    
    Sheets.Add(After:=Sheets("Import")).Name = "Messwerte KW " & KWarray(x)
    

    With Sheets("Import")
        .Range("A:A" & Cells(Rows.count, "A").End(xlUp).Row).Copy Sheets("Messwerte KW " & KWarray(x)).Range("A:A")
        .Range("C:C" & Cells(Rows.count, "A").End(xlUp).Row).Copy Sheets("Messwerte KW " & KWarray(x)).Range("B:B")
        .Range("R:R" & Cells(Rows.count, "A").End(xlUp).Row).Copy Sheets("Messwerte KW " & KWarray(x)).Range("C:C")
        .Range("S:S" & Cells(Rows.count, "A").End(xlUp).Row).Copy Sheets("Messwerte KW " & KWarray(x)).Range("D:D")
        .Range("T:T" & Cells(Rows.count, "A").End(xlUp).Row).Copy Sheets("Messwerte KW " & KWarray(x)).Range("E:E")
        .Range("U:U" & Cells(Rows.count, "A").End(xlUp).Row).Copy Sheets("Messwerte KW " & KWarray(x)).Range("F:F")
    End With

0 个答案:

没有答案
相关问题