Live-Forum - Die aktuellen Beiträge
Anzeige
Archiv - Navigation
188to192
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
188to192
188to192
Aktuelles Verzeichnis
Verzeichnis Index
Verzeichnis Index
Übersicht Verzeichnisse
Inhaltsverzeichnis

Suchen und löschen

Suchen und löschen
06.12.2002 10:51:31
Rudi Fleischhauer
Der Suchbegriff steht jeweils in der Spalte 2. Wenn mein Makro den Begriff findet, solle es die komplette Zeile löschen.
Das Makro ist folgendes:

Sub Löschen()
Dim Wert As String
Dim I As Integer
Wert = InputBox("Bitte den Suchbegriff eingeben", "Suchbegriff")
If Wert = "" Then Exit Sub
For I = Cells(Rows.Count, 2).End(xlUp).Row To 1 Step -1
If Cells(I, 2) = Wert Then Rows(I).Delete
Next
End Sub

Nun hätte ich gerne, dass ich eine Meldung erhalte dass die Löschung Erfolgreich war bzw. der Datensatz ev. nicht gefunden wurde.

Kann mir das jemand ergänzen?

Danke

11
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
Re: Suchen und löschen
06.12.2002 10:56:33
Max Gemüsehacker
probier es doch mal mit "on error...". Falls dann ein Fehler auftritt, kannst die Fehlernummer auslesen und diese abfangen mit
if then.

so etwa

on errer resume next

if err.numer = [Fehlernummer] then


Gruß Fleischwolf

Re: Suchen und löschen
06.12.2002 10:58:18
Ralf Sögel
For I = Cells(Rows.Count, 2).End(xlUp).Row To 1 Step -1
If Cells(I, 2) = Wert Then Rows(I).Delete
msgbox "gelöscht"
Next
Re: Suchen und löschen
06.12.2002 11:04:05
M. Kuhn
Moin Rudi,

diese Zeile (If Cells(I, 2) = Wert Then Rows(I).Delete) ändern in:

If Cells(I, 2) = Wert Then
x = x + 1
Rows(I).Delete
End If

Next i

MsgBox x & " Datensätze gelöscht!" ' Dies einfügen

l = 0

End Sub

MfG Mario


Anzeige
Re: Suchen und löschen
06.12.2002 12:17:21
Gehacktes
Hallo Fleischwolf,

hab wirklich keine Ahnung...

Re: Suchen und löschen
06.12.2002 12:45:31
Rudi Fleischhauer

Danke.
Das funktioniert jetzt prima. Allerdings wenn das Makro abgebrochen wird oder der Suchbegriff nicht gefunden wird
soll der Cursor wieder in das ursürüngliche Feld zurückspringen. Es ist die Tabelle: "PROVISION" Feld "KD" es soll zusätzlich der Hinweis erscheinen: "Datensatz nicht gefunden"
Geht das?
Re: Suchen und löschen
06.12.2002 13:16:32
M. Kuhn
Moin Rudi,

diese Zeile (If Wert = "" Then Exit Sub) ändern in:

If Wert = "" Then
Sheets("Provision").Cells(x, y).Select
Exit Sub
End If

Nach der Zeile: (MsgBox x & " Datensätze gelöscht!") dies einfügen:
Sheets("Provision").Cells(x, y).Select

MfG Mario


Anzeige
Re: Suchen und löschen
06.12.2002 14:15:59
Rudi Fleischhauer

Nein das funktioniert so leider nicht.
Das Makro starte ich aus der Tabelle "Provosion" und der Datensatz wir in der Tabelle "Beleg" gesucht und bei Bedarf gelöscht.
Wenn der Suchbegriff nicht vorhanden ist gibt er mit die Meldung "Datensatz gelöscht" obwohl nicht´s gelöscht wurde.

Re: Suchen und löschen
06.12.2002 14:58:18
M. Kuhn
Moin Rudi,

schau mal in Dein letztes Posting, was Du als Ziel angegeben hast! Von Start in "Provision" war da nicht die Rede, dafür von 'Feld KD', was immer das sein mag.

Das Blatt und die Zelle, die aktiviert werden sollen, kannst Du selbst ändern (Zeile: Sheets("Blattname").Cells(x, y).Select)

Wenn Dich die Meldung '0 Datensätze gelöscht' stört, so ändere die Zeile: (MsgBox x & " Datensätze gelöscht!") wie folgt:

If x = 0 Then
MsgBox "Keine Übereinstimmung gefunden."
Else
MsgBox x & " Datensätze gelöscht!")
End If

MfG Mario

Anzeige
Re: Suchen und löschen
09.12.2002 08:52:04
Rudi Fleischhauer
Im Sheet "Provision" startet das Makro und sucht im Sheet "Beleg" im Druckbereich "DR1" nach dem eingegebenen Suchbegriff. Wenn ich das Makro nun mittendrin abbreche, bleibt Excel natürlich im Sheet "Beleg" stehen. Es soll aber im Falle eines Abbruches wieder zum Sheet "Provisison" zurückkehren.
Gibt es da eine Lösung?

Mein Makro sieht jetzt so aus:

Sub Löschen_Datensatz()

Application.ScreenUpdating = False 'Echo ON
Application.Goto Reference:="DR1"
Dim Wert As String
Dim I As Integer
Wert = InputBox("Bitte den Suchbegriff in GROSSBUCHSTABEN! eingeben", "Suchbegriff")
If Wert = "" Then Exit Sub
For I = Cells(Rows.Count, 2).End(xlUp).Row To 1 Step -1
If Cells(I, 2) = Wert Then
x = x + 1
Rows(I).Delete
End If
Next I

If x = 0 Then
MsgBox "Keine Übereinstimmung gefunden bzw. Odernummer falsch. Groß- Kleinschreibung beachten!"
Else
MsgBox " Der Datensatz wurden erfolgreich gelöscht!"
l = 0
End If


Sheets("Provision").Select
Range("KD").Select


Application.ScreenUpdating = False 'Echo OFF
ActiveWorkbook.Save
Application.Goto Reference:="KD"
End Sub

Anzeige
Re: Suchen und löschen
09.12.2002 10:37:35
M. Kuhn
Moin Rudi,

erstmal kleine Kosmetik:

Application.ScreenUpdating = False 'entspricht Echo OFF
Application.ScreenUpdating = True 'entspricht Echo ON


zum Setzen des Blattes bei Abbruch: (dieser kann durch den User indirekt nur erfolgen, wenn er keinen Suchbegriff eingibt)

Die Zeile: If Wert = "" Then Exit Sub

Ändern in:

If Wert = "" Then
Sheets("Provision").Select
Range("KD").Select
Exit Sub
End If

MfG Mario

Re: Suchen und löschen
09.12.2002 15:10:02
Rudi Fleischhauer
Danke,
sehr gut gemacht, das funktioniert ganz toll.

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige