Anzeige
Anzeige
HERBERS
Excel-Forum (Archiv)
20+ Jahre Excel-Kompetenz: Von Anwendern, für Anwender

Forumthread: Zeile nur löschen wenn A nicht leer

Zeile nur löschen wenn A nicht leer
16.02.2015 14:25:15
Roger
Hallo zusammen
folgenden Code füre ich aus

Sub Makro1()
Dim i As Long
For i = 25000 To 1 Step -1
If Cells(i, 6) 

Ich will das es mir in Spalte F schaut ob der Betrag Minus ist. Dann soll er mir die Zeile löschen. Nun löscht er mir auch die Zeilen bei denen in Spalte F gar keine Zahl drinn steht. Da die Tabelle in Spalte A auch etwas drinnstehen hat wenn in Spalte F keine Zahl vorahnden ist soll diese Zeile ja bleiben. Sieh beiliegendes Musterblatt.
https://www.herber.de/bbs/user/95793.xlsm
Danke für eure Hilfe
Gruss
Roger

Anzeige

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

Betreff
Datum
Anwender
Anzeige
AW: Zeile nur löschen wenn A nicht leer
16.02.2015 14:31:58
Michael
Hallo Roger!
Kombiniere die Kriterien in der If-Bedingung:
If Cells(i, 6) <= 0 And cells(i,1).Value <> "" Then
Rows(i).Delete
End If
LG
Michael

AW: Zeile nur löschen wenn A nicht leer
16.02.2015 14:40:09
Roger
Hallo Michael
Leider auch nicht. Er löscht mir Auch Zeile 2. Dort steht in A2 Mustrtext. Deshalb sollte die zeile ja erhalten bleiben.
Danke und Gruss
Roger

Anzeige
AW: Zeile nur löschen wenn A nicht leer
16.02.2015 14:40:22
Roger
Hallo Michael
Leider auch nicht. Er löscht mir Auch Zeile 2. Dort steht in A2 Mustrtext. Deshalb sollte die zeile ja erhalten bleiben.
Danke und Gruss
Roger

AW: Zeile nur löschen wenn A nicht leer
16.02.2015 14:50:28
AndrRo
Hallo Roger,
anbei die Erweiterung der Abfrage
For i = 25000 To 1 Step -1
If Cells(i, 6) <= 0 And IsEmpty(Cells(i, 1)) Then Rows(i).Delete
Next i
gruss AndrRo

Anzeige
AW: Zeile nur löschen wenn A nicht leer
16.02.2015 14:53:14
Roger
Hallo AndrRo
Leider löscht er mir so gar nichts.
gruss
Roger

AW: Zeile nur löschen wenn A nicht leer
16.02.2015 14:52:52
Tino
Hallo,
versuch mal diese Variante.
Sub Loeschen()
Dim rngBereich As Range, rngTmp As Range
With Tabelle1 'Tabelle anpassen !!!
Set rngBereich = .Range("A1:F" & .UsedRange.Rows(.UsedRange.Rows.Count).Row)
Set rngTmp = rngBereich.EntireRow.Columns(.Columns.Count)
End With
Application.Calculation = xlCalculationManual
rngTmp.FormulaR1C1 = "=IF(AND(RC6""""),TRUE,ROW())"
If Application.WorksheetFunction.CountIf(rngTmp, True) > 0 Then
rngTmp.EntireRow.Sort Key1:=rngTmp.Cells(1, 1), Order1:=xlAscending, Header:=xlNo
rngTmp.SpecialCells(xlCellTypeFormulas, 4).EntireRow.Delete
rngTmp.EntireColumn.Delete
End If
Application.Calculation = xlCalculationAutomatic
End Sub
Gruß Tino

Anzeige
Super Danke schön
16.02.2015 14:55:01
Roger
Hallo Tino
Danke so funktioniert es einwandfrei.
Danke und Gruss
Roger

Forumthreads zu verwandten Themen

Anzeige
Anzeige
Anzeige
Anzeige
Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige