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

VBA - Suchen, Markieren, Löschen ???

VBA - Suchen, Markieren, Löschen ?
20.02.2008 08:37:00
Marcus
Hallo zusammen,
ich habe eine etwas größeres Problem.
Ich habe eine Excel-Datei mit einer Kundenverwaltung.
Jetzt möchte im über ein Makro aus dem Register "Suche" den Inhalt der Zelle "B14" (ist eine
Fahrgestellnummer) im Register "Eingabe - Daten" in Spalte C suchen.
Wenn die Fahrgestellnummer gefunden wird soll die entsprechende Zeile von C bis M markiert
werden.
Also, Fahrgestellnummer aus "Suche" - "B14" gefunden in "Eingabe - Daten" "C4", dann
"C4" bis "M4" markieren. Wenn nicht in "C4" sondern in "C20" gefunden, dann "C20" bis "M20"
markieren.
Anschließend soll der Inhalt des markierte Bereichs gelöscht werden, am besten mit der
Rückfrage "Sollen die Kundendaten wirklich gelöscht werden ?"
Bei Klick auf ja, Inhalt der markierte Zellen löschen, Spalte C - M sortieren, dann zurückspringen
zum Register "Suche" in Zelle B4.
Mir ist das zu hoch...
Über eure Hilfe währe ich echt dankbar.
Grüße Marcus
PS. Ich hoffe ich habe mich einigermaßen verständlich ausgedrückt.

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

Betreff
Datum
Anwender
Anzeige
AW: VBA - Suchen, Markieren, Löschen ?
20.02.2008 08:55:00
Beverly
Hi Marcus,

Private Sub Worksheet_Change(ByVal Target As Range)
Dim raZelle As Range
If Target.Address  "$B$14" Then Exit Sub
With Worksheets("Eingabe Daten")
Set raZelle = .Columns(3).Find(Range("B14"), lookat:=xlWhole)
If Not raZelle Is Nothing Then
.Range("A" & raZelle.Row & ":M" & raZelle.Row).ClearContents
.UsedRange.Sort key1:=.Columns(1), header:=xlGuess
End If
End With
End Sub


Wenn eine Spaltenüberschrift vorhanden ist, musst du xlGuess durch xlYes ersetzen.
Falls die gesamte gefundene Zeile gelöscht werden soll, kann man sich das Sortieren sparen


Private Sub Worksheet_Change(ByVal Target As Range)
Dim raZelle As Range
If Target.Address  "$B$14" Then Exit Sub
With Worksheets("Eingabe Daten")
Set raZelle = .Columns(3).Find(Range("B14"), lookat:=xlWhole)
If Not raZelle Is Nothing Then
.Rows(raZelle.Row).EntireRow.Delete
End If
End With
End Sub




Anzeige
AW: VBA - Suchen, Markieren, Löschen ?
21.02.2008 08:28:24
Marcus
Hallo Karin,
vielen Dank für deine schnelle Antwort.
Ich wollte das ganze eigentlich über eine Schaltfläche realisieren. Mit deinem Code komm
ich da nicht so ganz klar. Kann ihn nicht einer Schaltfläche zuordnen.
Kannst du mir da weiterhelfen ? Wo muß dieser Code genau hin und kann ich ihn dann
über eine Schaltfläche ansprechen ?
Spaltenüberschrift ist übrigens vorhanden und ich habe den Code wie folgt geändert, geht
aber irgendwie nicht.

Private Sub Worksheet_Change(ByVal Target As Range)
Dim raZelle As Range
If Target.Address  "$B$14" Then Exit Sub
With Worksheets("Eingabe - Daten")
Set raZelle = .Columns(3).Find(Range("B14"), lookat:=xlWhole)
If Not raZelle Is Nothing Then
.Range("A" & raZelle.Row & ":M" & raZelle.Row).ClearContents
.UsedRange.Sort key1:=.Columns(1), header:=xlYes
End If
End With
End Sub


Marcus

Anzeige
AW: VBA - Suchen, Markieren, Löschen ?
21.02.2008 14:55:00
Marcus
Keiner sonst eine Idee ?

Beitrag geschlossen...,
21.02.2008 17:47:00
Beverly
Hi Marcus,

Sub Marcus()
Dim raZelle As Range
With Worksheets("Eingabe Daten")
Set raZelle = .Columns(3).Find(Range("B14"), lookat:=xlWhole)
If Not raZelle Is Nothing Then
.Range("A" & raZelle.Row & ":M" & raZelle.Row).ClearContents
.UsedRange.Sort key1:=.Columns(1), header:=xlGuess
End If
End With
End Sub


Wenn eine Spaltenüberschrift vorhanden ist, musst du xlGuess durch xlYes ersetzen.
Falls die gesamte gefundene Zeile gelöscht werden soll, kann man sich das Sortieren sparen


Sub Marcus2()
Dim raZelle As Range
With Worksheets("Eingabe Daten")
Set raZelle = .Columns(3).Find(Range("B14"), lookat:=xlWhole)
If Not raZelle Is Nothing Then
.Rows(raZelle.Row).EntireRow.Delete
End If
End With
End Sub


Siehe auch diesen Thread https://www.herber.de/forum/messages/953944.html



Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige