AW: VBA Doppelte Zellinhalte löschen
06.11.2017 17:09:28
Daniel
Hi
Regel nummer 1:
alles was man in Excel von Hand machen kann, kann man auch per Makro ausführen lassen.
Somit ist jede Lösung ohne Makro immer auch eine Makrolösung (der Recorder hilft beim Programmieren)
Regel nummer 2:
Wenn man das Problem mit einem Makro löst, sollte man keine Scheu vor Hilfsspalten haben (sofern sich das Problem damit sinnvoll lösen lässt).
diese lassen sich per Makro einfügen und auch per Makro wieder löschen, ohne das jemand das mitbekommt.
für die Lösung dieses Problems per Makro würde ich es allerdings etwas anders machen:
1. kennzeichne die zu löschenden Zellen nicht mit dem Text "x", sondern mit der Zahl 1
2. selektiere die markierten Zellen nicht mit dem Autofilter, sondern mit der Funktion START - BEARBEITEN - SUCHEN UND AUSWÄHLEN - INHALTE - FORMELN - ZAHLEN
3. lösche die Inhalte aller Zellen links von den selekiteren (diesen Schritt kannst du nicht von Hand, sondern nur per Makro machen)
With ActiveSheet.Usedrange
With .Columns(.Columns.count)
with .Offset(1, 1).resize(.Rows.count - 1)
.FormulaR1C1 = "=IF(RC2=R[-1]C2,1,"""")
IF Worksheetfunction.Sum(.Cells) > 0 Then
Intersect(Columns(2), .SpecialCells(xlcelltypeformulas, 1).EntireRow). _
ClearContents
end if
.ClearContents
end with
end with
end with
Gruß Daniel
Gruß Daniel