我想創建一個VBA宏來搜索列A,並且每次在該列中找到2個相同(和相鄰!)的單元格以刪除其中一個並向上移動。我希望它留在列A中,並且每次出現相鄰的重複項時都將其刪除。 差不多我有交替像這樣的信息的Excel工作表:刪除相鄰的單元格是否重複?
甲
乙
甲
乙
但我經常遇到困難這樣
甲
B
一個
乙
乙
一個
那些2點B的是什麼,我希望它自動清除和高達上移動單元格,但我不知道該如何去做。 有什麼建議嗎?
編輯:我解決了我自己的問題。答案在下面,但這裏又是幫助其他可能遇到問題的人。
沒關係的人。我有這個。我錄製了一個使用過濾器和一個簡單公式的宏。在列B中,我把它放在:= IF(a1 = a2,「停止」,「」)然後我拖下來複制它。然後我過濾了B列,只顯示「停止」單元格。然後我清除了那些細胞。然後我沒有過濾B列以顯示所有內容。然後,我去了首頁>查找和選擇>特殊>選擇空白然後我刪除並移動單元格上選定的空白。然後我將B列公式向下拖動,爲我錄製的宏製作工作循環。下面有什麼錄音結束看起來像:
Sub DUPES()
ActiveCell.FormulaR1C1 = "=IF(RC[-1]=R[1]C[-1],""DLT"","""")"
Range("J2").Select
Selection.AutoFill Destination:=Range("J2:J1000"), Type:=xlFillDefault
Range("J2:J1000").Select
ActiveSheet.Range("$A$1:$L$500").AutoFilter Field:=10, Criteria1:="<>"
Range("I11:J11").Select
Range(Selection, Selection.End(xlDown)).Select
Range(Selection, Selection.End(xlDown)).Select
Selection.ClearContents
Range("A11").Select
ActiveSheet.Range("$A$1:$L$500").AutoFilter Field:=10
ActiveWindow.SmallScroll Down:=-42
Columns("I:I").Select
Selection.SpecialCells(xlCellTypeBlanks).Select
Selection.Delete Shift:=xlUp
Range("J2").Select
Selection.AutoFill Destination:=Range("J2:J1000"), Type:=xlFillDefault
Range("J2:J1000").Select
Range("I2").Select
End Sub
我曾嘗試手動錄製宏刪除重複同時告訴它退出子,當它達到了「不同」的變量。 – Forbidden
如果sel.Offset(i).Value = prev Then sel.Offset(i).EntireRow。刪除 我也嘗試搞亂補償,但是,我真的不擅長做這種事情。 – Forbidden