VBA新手,并得到了我需要的90%的方式,但我无法弄清楚最后的部分。对于最后一步,我有一个来自A:K的数据范围,其中A包含一个唯一的数字。此数据的更新版本粘贴在初始范围以下,列A中的数字保持不变,但B:K正在更新。我们如何更新重复行然后使用vba将其删除?
我该如何复制下面的重复行,将其粘贴在原来的上面,然后删除重复?
Sub TEST2()
'
' TEST2 Macro
'
' Sheets("Sheet1").Select
ActiveSheet.Range("A1:K1").Select
Selection.AutoFilter
ActiveSheet.Range("$A$1:$L$20").AutoFilter Field:=8, Criteria1:="red"
Range("a2").Select
Dim LR As Long
LR = Range("A" & Rows.Count).End(xlUp).Row
Range("A2:K" & LR).SpecialCells(xlCellTypeVisible).Select
Selection.Copy
Sheets("Sheet2").Select
Range("A2").Select
Sheet2.Cells(Rows.Count, 1).End(xlUp).Offset(1, 0).PasteSpecial xlPasteValues
ActiveSheet.Range("A1:l100").RemoveDuplicates Columns:=Array(1, 1), Header:=xlYes
End With
Range("$q$1").Select
Selection.Copy
Range("H2:H1000").Select
Selection.PasteSpecial Paste:=xlPasteFormats, Operation:=xlNone, _
SkipBlanks:=False, Transpose:=False
Sheets("Sheet1").Select
Worksheets("Sheet1").ShowAllData
Range("O3").Select
Sheets("Sheet2").Select
Range("O3").Select
End Sub
此刻,我只能得到尽可能使用这个来删除重复项。表单中还有其他元素需要这样做。 在此先感谢您的帮助!
谢谢你的回复!我试图避免添加帮助列或排序,所以我试图实现Cyrils代码。出于某种原因,我不断收到错误:范围类的pastespecial方法失败,无论我将其添加到现有代码还是作为独立测试。我尝试了各种各样的无济于事。我已将我的代码添加到查看问题中。另外,如果我可以对原始问题进行一项修改,而不是剪切/复制整行,我们可以从A:K剪切/复制单元格。非常感谢! – jay123
@ jay123立即试用;我做了一些测试,这应该只适用于专栏A:K – Cyril
这绝对是一种享受,很欣赏西里尔!它甚至使一些原始的格式代码变得冗余,所以我删除了整个部分 - 整洁得多。在最后一个提示中,你提到我们需要在删除行时反转一个步骤,这到底意味着什么? – jay123