首页 > 解决方案 > 你如何粘贴唯一值而不显示被跳过的行?

问题描述

我正在尝试从一行中提取唯一的采购订单并将该列表粘贴到另一张表中。问题是当我粘贴时,它没有按顺序列出采购订单(a1,a2,a3,a4);它从复制它们的位置(a3、a112、a194 等)粘贴它们,这是宏:

Sub unique_values()
'
' unique_values Macro
'
'
    Columns("A:A").Select
    Selection.Copy
    Sheets("Sheet1").Select
    Sheets.Add After:=ActiveSheet
    Columns("A:A").Select
    ActiveSheet.Paste
    Application.CutCopyMode = False
    Application.CutCopyMode = False
    Application.CutCopyMode = False
    Range("A1:A394").AdvancedFilter Action:=xlFilterInPlace, Unique:=True
End Sub

在此处输入图像描述

标签: excelvba

解决方案


刚刚更新了你的代码。你快到了。复制后只需删除空单元格。

    Columns("A:A").Select
    Selection.Copy
    Sheets("Sheet1").Select
    Sheets.Add After:=ActiveSheet
    Columns("A:A").Select
    ActiveSheet.Paste
    Application.CutCopyMode = False
    Application.CutCopyMode = False
    Application.CutCopyMode = False
    Range("A1:A394").RemoveDuplicates Columns:=Array(1)
    On Error Resume Next
With Range("A:A")
    If WorksheetFunction.CountA(.Cells) > 0 Then .SpecialCells(xlCellTypeBlanks).Delete Shift:=xlShiftUp
End With

推荐阅读