Anzeige
Anzeige
HERBERS
Excel-Forum (Archiv)
20+ Jahre Excel-Kompetenz: Von Anwendern, für Anwender Navigationstipps
Zeilen löschen in Abhängigkeit von 2 Spalten
06.10.2008 14:00:00
2
Hallo zusammen,
ich habe ein Makro über den Rekorder aufgezeichnet und versuche es anzupassen. Leider kenn ich mich in der Syntax nicht aus.
Ziel:
In einem markierten Bereich die Zeilen löschen, die in Abhängigkeit von zwei Spalten eine 0 enthalten.
D.h. Spalten X und Y enthalten 0 Werte und die Zeilen sollen gelöscht werden, bei denen entweder X oder Y eine 0 enthält.
Hier das Makro:
Range("P271:P373").Select
Selection.Replace What:="0", Replacement:="", LookAt:=xlPart, _
SearchOrder:=xlByRows, MatchCase:=False, SearchFormat:=False, _
ReplaceFormat:=False
Selection.SpecialCells(xlCellTypeBlanks).Select
Selection.EntireRow.Delete
End Sub
Ich hatte das zuerst so gelöst: Alle 0 Werte mit "Bearbeiten/ersetzen" löschen, dann alle Leerzellen markieren (mit "Gehe zu/Inhalte/Leerzellen"), dann Zellen löschen/ganze Zeile.
Ich weiß aber nicht, wie ich die Abhängigkeit von zwei Spalten lösen kann. Außerdem soll der markierte Bereich frei wählbar sein. Hier war er von mir ja schon vorgegeben mit P271:P373.
Danke für die Unterstützung.
Gruß Andreas

2
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: Zeilen löschen in Abhängigkeit von 2 Spalten
06.10.2008 15:39:00
2
Hallo Andreas,
nachfolgend ein Beispiel.
Du wählst den 1. Bereich. Dann Makro starten.
In einer Inputbox kannst du dann die 2. Spalte wählen.
Gruß
Franz

Sub Nullwerte_Zeilen_Loeschen()
Dim Bereich As Range
Dim ZeileStart As Long, ZeileEnde As Long, Zeile As Long
Dim Spalte1 As Long, Spalte2 As Long
Dim wks As Worksheet
On Error GoTo Fehler
Set wks = ActiveSheet
Set Bereich = Selection
With Bereich
ZeileStart = .Row
ZeileEnde = .Row + .Rows.Count - 1
Spalte1 = .Column
Spalte2 = Application.InputBox(Prompt:="Bitte Zelle in 2. Spalte wählen", _
Default:=Bereich.Range("A1").Address, _
Type:=8).Column
End With
Application.ScreenUpdating = False
With wks
For Zeile = ZeileEnde To ZeileStart Step -1
'1. Spalte des selektierten Bereichs und 2 gewählte Spalte auf 0 prüfen
If (Not IsEmpty(.Cells(Zeile, Spalte1)) And .Cells(Zeile, Spalte1) = 0) _
Or (Not IsEmpty(.Cells(Zeile, Spalte2)) And .Cells(Zeile, Spalte2) = 0) Then
.Rows(Zeile).Delete shift:=xlShiftUp
End If
Next
End With
Fehler:
Application.ScreenUpdating = True
End Sub


Anzeige
AW: Zeilen löschen in Abhängigkeit von 2 Spalten
06.10.2008 16:07:28
2
Danke schon mal Franz für die Hilfe.
Werd ich nachher gleich ausprobieren.
Wenn das funzt hast mir wirklich ne Menge Arbeit erspart.
Gruß
Andreas

332 Forumthreads zu ähnlichen Themen

Anzeige
Anzeige
Anzeige
Anzeige

Links zu Excel-Dialogen

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige