我想制作一个VBA宏,它搜索A列,并且每次在该列中找到2个相同(且相邻!)的单元格时,就删除其中2个并向上移动。我希望它保留在A列中,并且每次出现重复的副本都将其删除时。我几乎有一张excel表格,它可以像这样交替显示信息:
一种
乙
一种
乙
但是我经常碰到这样的障碍
一种
乙
一种
乙
乙
一种
我想要那些2 B自动清除并向上移动单元格,但是我不确定该如何处理。有什么建议?
编辑:我解决了我自己的问题。答案在下面,但是这里再次是为了帮助其他可能遇到过我问题的人。
没关系的人。我有这个。我记录了一个使用过滤器和一个简单公式的宏。在BI列中输入以下内容:= IF(a1 = a2,“ STOP”,“”)然后将其向下拖动以进行复制。然后,我过滤了B列以仅显示“ STOP”单元格。然后我清除了这些单元格。然后,我未过滤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
没关系的人。我有这个。我记录了一个使用过滤器和一个简单公式的宏。在BI列中输入以下内容:= IF(a1 = a2,“ STOP”,“”)然后将其向下拖动以进行复制。然后,我过滤了B列以仅显示“ STOP”单元格。然后我清除了这些单元格。然后,我未过滤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
本文收集自互联网,转载请注明来源。
如有侵权,请联系[email protected] 删除。
我来说两句