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

Range nach bestimmten Wert suchen und diesen lösch

Range nach bestimmten Wert suchen und diesen lösch
19.01.2014 18:49:59
Ben
Hallo Zusammen,
ich habe mal wieder ein Problem.
Ich möchte die Range("B3:D7") nach dem Wert "Laptop" durchsuchen und diesen, falls er vorhanden ist löschen.
Ich hatte erst überlegt ob man das vielleicht mit If Range("B3:D7") dieser Wert vorhanden dann löschen, aber da kann ich ja schlecht genau die Zelle definieren in der dieser Wert steht, da sich die Position des Werstes immer wieder ändert.
Hättet ihr ein Lösung?
Im Anhang mal ein Beispiel
https://www.herber.de/bbs/user/88882.xlsm
Vielen Dank und Gruß
Ben

3
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
Range nach bestimmten Wert suchen und diesen lösch
19.01.2014 19:25:43
Hajo_Zi
Hallo Ben,
benutze Find.
Sub Find_mehrmals()
Dim RaFound As Range
Dim FirstAddress As String
Dim Search As String
Dim Loletzte As Long
Dim LoI As Long
Dim ByMldg As Byte
Search = Worksheets("Tabelle2").Range("A1")
With Worksheets("Tabelle1")
Loletzte = IIf(IsEmpty(.Cells(.Rows.Count, 1)), .Cells(.Rows.Count, 1).End(xlUp).Row, . _
Rows.Count)
'   von Peter Haserodt
Set RaFound = .Range("A1:A" & Loletzte).Find(Search, .Range("A" & Loletzte), ,  _
xlWhole, , xlNext)
If Not RaFound Is Nothing Then
If MsgBox("Gefunden in Zelle " & RaFound.Address(0, 0) & " ist dies richt  _
richtige Zelle !!!" _
, vbYesNo + vbQuestion, "Abfrage") = 6 Then
RaFound.Interior.ColorIndex = 3
Else
FirstAddress = RaFound.Address
Do
Set RaFound = .Range("A1:A" & Loletzte).FindNext(RaFound)
If RaFound.Address = FirstAddress Then Exit Sub
If MsgBox("Gefunden in Zelle " & RaFound.Address(0, 0) & " ist dies  _
richt richtige Zelle !!!" _
, vbYesNo + vbQuestion, "Abfrage") = 6 Then
RaFound.Interior.ColorIndex = 3
Exit Do
End If
If RaFound.Row = Loletzte Then Exit Do
LoI = LoI + 1
Loop
End If
End If
End With
Set RaFound = Nothing
End Sub

Anzeige
AW: Range nach bestimmten Wert suchen und diesen lösch
19.01.2014 20:57:22
Ben
Hallo Hajo,
vielen Dank für deine Antwort. Leider komme ich nicht weiter, ich habe das skript jetzt eingebaut aber leider verstehe nicht genau was da steht.
in Tabelle 2 in Zelle A1 habe ich den gesuchten Begriff eingetragen, aber wenn ich den VBA Code ausführe passiert nichts. Habe ich irgendetwas vergessen zu ändern?
Ich habe jetzt mal das mit dem Find probiert und bin aktuell bei folgendem
Sub suche()
searchfor = Range("A1")
Range("B3:D7").Select
Selection.Find(What:=searchfor, After:=ActiveCell, LookIn:= _
xlFormulas, LookAt:=xlWhole, SearchOrder:=xlByColumns, SearchDirection:= _
xlNext, MatchCase:=False, SearchFormat:=False).ClearContents
End Sub
Leider funktioniert das nur dann, wenn das gesuchte Wort auch wirklich in der Range vorhanden ist.
Und ich muss mit Select arbeiten, wenn ich die Range direkt vor dem Find angebe kommt Blockvariable nicht definiert.
Hättest du eine Lösung?
Danke und Liebe Grüße
Ben

Anzeige
AW: Range nach bestimmten Wert suchen und diesen lösch
20.01.2014 05:05:37
Luschi
Hallo Ben,
ich habe Hajos Vba-Code getestet und der FUNKTIONIERRT. Warum testest Du ihn nicht mal vollständig im Einzelschritt-Modus (Im Vba-Editor Haltepunkt setzen - Makro starten und dann mit F8-Taste schrittweise jede Vba-Zeile durchlaufen)?
Gruß von Luschi
aus klein-Paris

304 Forumthreads zu ähnlichen Themen

Anzeige
Anzeige
Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige