gpt4 book ai didi

excel - 将电子表格中同一列中的 2 行单元格与下方行单元格进行比较时,根据重复值删除行

转载 作者:行者123 更新时间:2023-12-03 01:28:16 25 4
gpt4 key购买 nike

我正在尝试从一个非常大的电子表格中删除(大部分)重复的行。

如果每行两个单元格中的值相同,我可以判断该行是重复的。

这是一个例子:

1   a   ewq
1 e weq
1 h ewq
2 b ddsfa
2 b as
2 i d
3 c fdsa
3 f ads
4 d fd
4 g as

在此示例中,第四行和第五行将重复,因为“A”列和“B”列中的值相同。决定性的值总是可以在相同的列中找到。

我想根据重复状态删除第四行或第五行并将行向上移动。

我什至不确定这是否接近,但这是我到目前为止所拥有的(我收到不匹配错误):

Sub MasterRemoveDuplicates()
Dim Master As Worksheet

Application.ScreenUpdating = False
Application.DisplayAlerts = False

Set Master = Workbooks("Master.csv").Worksheets("Master")

Last = 1

For i = 1 To 18211
If Range("A" & i) And Range("B" & i) <> Range("A" & (i + 1)) And Range("B" & (i + 1)) Then
Worksheets("Master").Rows(Last).Delete Shift:=xlShiftUp
Last = i + 1

Master.Activate
End If
Next i

MsgBox "Completed!", vbInformation, ""

reset_settings:
Application.ScreenUpdating = True
Application.DisplayAlerts = True

End Sub

任何有关我如何实现这一目标的想法将不胜感激!

附注所有内容都在同一个工作表中。

最佳答案

您正在尝试重新发明轮子。有一个现成的RemoveDuplicates命令。

Sub MasterRemoveDuplicates()

Application.ScreenUpdating = False
Application.DisplayAlerts = False

With Workbooks("Master.csv").Worksheets("Master")

With .Range(.Cells(1, "A"), .Cells(.Rows.Count, "A").End(xlUp).Offset(0, 2))

.RemoveDuplicates Columns:=Array(1, 2), Header:=xlNo

End With

End With

MsgBox "Completed!", vbInformation, ""

reset_settings:
Application.ScreenUpdating = True
Application.DisplayAlerts = True

End Sub

关于excel - 将电子表格中同一列中的 2 行单元格与下方行单元格进行比较时,根据重复值删除行,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/54019526/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com