Live-Forum - Die aktuellen Beiträge
Anzeige
Archiv - Navigation
1900to1904
Aktuelles Verzeichnis
Verzeichnis Index
Übersicht Verzeichnisse
Vorheriger Thread
Rückwärts Blättern
Nächster Thread
Vorwärts blättern
Anzeige
HERBERS
Excel-Forum (Archiv)
20+ Jahre Excel-Kompetenz: Von Anwendern, für Anwender
Inhaltsverzeichnis

Zeilen Löschen bei bestimmtem Wert

Zeilen Löschen bei bestimmtem Wert
12.10.2022 11:02:59
Wolfgang
Guten Morgen, ich benötige ein Makro da die Aufzeichnung mit Macro Recorder nicht funktioniert.
Das Makro soll erstens alle betroffen Zeilen löschen wenn Spalte AF Leer / Blank ist.
Dann sollen alle duplicate in Spalte BM gelöscht werden.
Wen noch Fragen sind bitte melden.
Recht herzlichen Dank bis dahin.
https://www.herber.de/bbs/user/155617.xlsx
Gruß

7
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: Zeilen Löschen bei bestimmtem Wert
12.10.2022 11:07:59
Daniel
Hi
Wieso funktioniert da die Aufzeichnung nicht?
Mein Recorder zeichnet das sehr gut auf, sowohl die Selektion der Leberzellen, als auch das Duplikate entfernen.
Gruß Daniel
AW: Zeilen Löschen bei bestimmtem Wert
12.10.2022 11:28:30
Wolfgang
Hallo Daniel, vielen Dank für Deine Antwort.
Es funktioniert bei der Datei bei der ich das Makro aufgezeichnet habe. Wenn ich das Makro eine Woche später bei der gleichen Datei anwende, die aber nun größer geworden ist, funktioniert das aufgezeichnete Makro nicht mehr.
Grüße
AW: Zeilen Löschen bei bestimmtem Wert
12.10.2022 11:36:24
Daniel
Dann zeig mal dein Makro, dass du verwendet, dann können wir dir zeigen, wie man es umschreiben muss, damit es sich an die Tabellengeöße anpasst.
Gruß Daniel
Anzeige
AW: Zeilen Löschen bei bestimmtem Wert
12.10.2022 13:02:17
GerdL
Hallo Wolfgang,
probier mal.

Sub Unit()
Dim X As Range
With ActiveSheet
If .AutoFilterMode = True Then
.AutoFilter.ShowAllData
Else
.Rows(1).AutoFilter Field:=1
End If
Set X = .Range(.Cells(2, 32), .Cells(.Rows.Count, 32).End(xlUp))
With X
.Value = .Value
End With
If WorksheetFunction.CountBlank(X.Cells) > 0 Then
Intersect(X, .Rows.SpecialCells(xlCellTypeBlanks)).EntireRow.Delete
End If
.AutoFilter.Range.RemoveDuplicates 65, xlYes
End With
End Sub
Gruß Gerd
AW: Zeilen Löschen bei bestimmtem Wert
12.10.2022 13:22:19
Wolfgang
Hallo Daniel, Hallo Gerd, anbei nochmal das Excel Sheet mit den beiden Makros. Leider läuft das Makro von Gerd nicht. Eventuell, bzw. ganz sicher mache ich was falsch. :-(
https://www.herber.de/bbs/user/155624.xlsm
Grüße
Anzeige
AW: Zeilen Löschen bei bestimmtem Wert
12.10.2022 13:44:22
Daniel
HI
probiers mal so.
Wenn die leeren Zellen in AF echte Leerzellen sind, könnte man sie so löschen:

Columns(32).SpecialCells(xlcelltypeblanks).EntireRow.Delete
für das RemoveDuplicates kann man auch auch problemlos ganze Spalten angeben:

Range("A:FK").RemoveDuplicates Columns:=65, Header:=xlNo
wenn du den Autofliter nutzen willst, kannst du auch die ExcelAutomatik nutzen, um Zellbereiche zu ermitteln.

With Range("A1").CurrentRegion
.AutoFilter Field:=32, Criteria1:="="
.Offset(1, 0).SpecialCells(xlcelltyevisible).Delete Shift:=xlup
.Autofilter
end With
das Currentregion ermittelt von der angegebenen Zelle aus den Zellbereich, der eine komplette Tabelle ergibt (kannst du in Excel mit der Tastenkombination STRG+A nachvollziehen.
in der WITH-Klammer definiert man einen Zellbereich, welchen man in der Folge verwenden kann, ohne ihn immer hinschreiben zu müssen, überall dort, wo ein Ausdruck mit dem Punkt beginnt, wird dann dieser Zellbereich eingesetzt.
das Offset(1, 0) verhindert dann, dass die Überschriftenzeile mit gelöscht wird, dafür wird die darunter liegende Zeile gelöscht, was aber kein Problem darstellen sollte, wenn unter der Tabelle keine anderen Daten mehr stehen.
Gruß Daniel
Anzeige
AW: Zeilen Löschen bei bestimmtem Wert
12.10.2022 15:09:02
Wolfgang
Hallo Daniel,
S U P E R. Hat funktioniert.
Recht herzlichen Dank.
Grüße
Wolfgang

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige