Excel -删除重复的值并重新排列非重复的数据行

sd2nnvve  于 2023-10-22  发布在  其他
关注(0)|答案(1)|浏览(95)

我试图组织从A17到C30的数据集
| A18(文件编号)|B18(文件标题)|C18(修订版)|
| --|--|--|
| 周一|红色|R1|
| 周一|红色|R1|
| 周一|红色|R1|
| 周一|黄色|R1|
| 周二|蓝色|R2|
| 周三|白色|R1|
| 周三|白色|R1|
| 周四|绿色|R3|

预期结果

| A18| B18| C18|
| --|--|--|
| 周一|红色|R1|
| 周二|蓝色|R2|
| 周三|白色|R1|
| 周四|绿色|R3|

**我不能删除或插入任何行或列或过滤器来完成此任务。它会影响所有其他数据。

只能复制和粘贴**
我试过下面的代码,但我被重新排列空数据卡住了。
因为我无法删除或过滤数据。我有足够的时间来实现这一点。寻求您的帮助,请!

Sub ClearRowValues()
    Dim ws As Worksheet
    Dim lastRow As Long
    Dim i As Long

    ' Set the worksheet where your data is located
    Set ws = ThisWorkbook.Sheets("INPUT")
    
    ' Find the last row in column A with data
    lastRow = ws.Cells(ws.Rows.Count, "A").End(xlUp).Row
    
    ' Loop through rows from the bottom to the top
    For i = lastRow To 17 Step -1 ' Start from the second last row and move upwards
        If ws.Cells(i, 1).Value = ws.Cells(i - 1, 1).Value Then
            ' If the current Doc. No. is the same as the previous row, clear the current row
            ws.Cells(i, 1).ClearContents
            ws.Cells(i, 2).ClearContents
            ws.Cells(i, 3).ClearContents
        End If
    Next i
End Sub
bqujaahr

bqujaahr1#

如果复制/粘贴是您唯一的选择,那么为什么不使用公式:

E2中的公式:

=UNIQUE(CHOOSEROWS(A2:C9,XMATCH(A2:A9,A2:A9)))

相关问题