首页 > 解决方案 > 如何根据另一列中的唯一值复制一系列数据并将其粘贴到另一张工作表中

问题描述

我在此处附上了数据集的图像以供进一步说明

我在combined.csv 中收到大量数据,我需要按序列号对它们进行分类并将它们分开为自己的.csv 文件。我已经设法提取了该序列号,但我似乎无法弄清楚如何选择唯一的数据范围,然后将其粘贴到另一张表中。这是我到目前为止所拥有的:

Sub CleanData()
Range("A:A").Sort Key1:=Range("A:A"), Order1:=xlDescending, Header:=xlYes
Range("W1").Value = "Receipt Number"
'Column W to same length as Column A
With Range(Range("W2"), Cells(Rows.Count, 1).End(xlUp).Offset(0, 22))
    .Formula = "=Left(A2, 4)" 'Apply Formula, with auto-fill-down
    .Calculate 'Calculate results of Formulae
    .Value = .Value 'Convert Formulae to Values
Range("W:W", Range("W:W").End(xlDown)).AdvancedFilter Action:=xlFilterCopy, _
    CopyToRange:=Range("AA2"), Unique:=True


End With
End Sub

先感谢您!

标签: excelvba

解决方案


你可以在你的工作中使用这个样本

Sub CleanData()

    Sheet1.Range("B1:B3") = "=left(a1,4)"
    Sheet2.Range("A1:A3").Value = Sheet1.Range("B1:B3").Value

End Sub

前:

在此处输入图像描述在此处输入图像描述

后:

在此处输入图像描述在此处输入图像描述


推荐阅读