Live-Forum - Die aktuellen Beiträge
Anzeige
Archiv - Navigation
1136to1140
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

Zeile löschen bei Eintrag in Spalte

Zeile löschen bei Eintrag in Spalte
Dietmar
Hallo zusammen,
nach folgenden Code habe ich hier im Forum gefunden.
Wie kann ich den Code aufbessern, dass die Löschroutine mit msgbox-Nachricht abbricht, wenn keine "Löscheintragungen" zu finden sind. Derzeit bleibt das Makro einfach hängen, wenn in Spalte 3 keine 9999 zu finden ist.
Vielen Dank
Dietmar aus Aachen
Sub ZeilenLoeschen()
'Zeile löschen wenn in Spalte 3 die Zahl 9999 stehtLöschroutine
Dim i&
Const spalte = 3 'Sp A - anpassen
Const such = 9999 'bei Zahlen ohne ""
For i = Cells(Rows.Count, spalte).End(xlUp).Row To 1 Step -1
If Cells(i, spalte).Value = such Then Rows(i).Delete
Next i
End Sub

4
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Benutzer
Anzeige
AW: Zeile löschen bei Eintrag in Spalte
12.02.2010 19:22:56
ransi
HAllo
Das kannst du mit z.B. Worksheetfunction.Countif() überprüfen.
Aber der Code scheint auch so wie er ist in Ordnung.
Er sollte nicht abstürzen wenn in Spalte 3 kein Treffer erzielt wird.
Welchen Wert hat:
Cells(Rows.Count, spalte).End(xlUp).Row
beim Start des Codes ?
ransi
AW: Zeile löschen bei Eintrag in Spalte
12.02.2010 19:33:43
Dietmar
Hallo Ransi,
die Frage verstehe ich nicht. Da reichen meine VBA-Kenntnisse wohl mal wieder nicht aus.
In der Spalte stehen normalerweise Jahres-Zahlen, also derzeit 2010.
Es geht mir darum, dass in der betreffenden Tabelle Daten per Makro eingetragen werden, die aber manchmal falsch sind, weil der User einen falschen Datenübertrag verananlasst hat.
Da die Seite geschützt ist, kann er die Zeile nicht markieren und dann löschen (soll er auch nicht, da ich das Passwort nicht rausrücken will)
Mit der "Methode", dass er dort 9999 einträgt, kann er selektiv einen Datensatz löschen, weil ich im Makro dann per "unprotect" den Schutz temporär aufhebe.
Viele Grüße
Dietmar aus Aachen
Anzeige
AW: Zeile löschen bei Eintrag in Spalte
12.02.2010 19:41:03
Gerd
Hallo Dietmar,
die Kostanten sollten m.E. noch einen Variablentyp erhalten.
Const spalte As Long = 3 'Sp A - anpassen
Const such As Integer= 9999 'bei Zahlen ohne ""
Davon abgesehen ist dieser Code ohne Fehler lauffähig.
Was Du also ansonsten machst oder hast, das zu einem Fehler führt, weis ich nicht.
Bist Du sicher, dass der Fehler in dieser Prozedur auftritt?
Hast Du verbundene Zellen in der Tabelle?
Teste den Code einmal in einer neuen Mappe.
Das würde mich jetzt interessieren.
Aber zu deiner Frage:
Es ist einfach, mit
Application.Worksheetfunction.CountIf(Columns(spalte), such)
abzufragen, ob 9999 in Spalte C vorhanden ist.
Gruß Gerd
Anzeige
Du hattest recht !
13.02.2010 20:27:14
Dietmar
Hallo Gerd,
vielen Dank für Deine Info. Du hast recht, ich hatte dem Code noch einen "on error goto fehler - Zusatz" gegeben, der zu einer Fehlermeldung führte :-)
Ich hatte ihn dann aber ohne den Zusatz ins Forum gestellt.
Also: ich komme damit gut klar und der Code läuft fehlerfrei. Die Variablentypen werde ich noch hinzunehmen.
Danke nochmals!
Viele Grüße
Dietmar aus Aachen

312 Forumthreads zu ähnlichen Themen

Anzeige
Anzeige
Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige