Dieses Forum nutzt Cookies
Dieses Forum verwendet Cookies, um deine Login-Informationen zu speichern, wenn du registriert bist, und deinen letzten Besuch, wenn du es nicht bist. Cookies sind kleine Textdokumente, die auf deinem Computer gespeichert werden. Die von diesem Forum gesetzten Cookies werden nur auf dieser Website verwendet und stellen kein Sicherheitsrisiko dar. Cookies aus diesem Forum speichern auch die spezifischen Themen, die du gelesen hast und wann du zum letzten Mal gelesen hast. Bitte bestätige, ob du diese Cookies akzeptierst oder ablehnst.

Ein Cookie wird in deinem Browser unabhängig von der Wahl gespeichert, um zu verhindern, dass dir diese Frage erneut gestellt wird. Du kannst deine Cookie-Einstellungen jederzeit über den Link in der Fußzeile ändern.

Fehler in der Suchroutine
#1
Hallo Gemeinde,

da hab ich mir für ein Projekt eine Suchroutine gebastelt, die in einer Tabelle nacheinander den jeweiligen Suchbegriff in der entsprechenden Zelle markieren soll. Leider tut sie das nicht und ich finde den Fehler nicht! :@ :@ :@ 

Ein entsprechendes Musterschema mit dem original VBA-Code häge ich hier an.
Suche ich nach "Tür", so wird die erste Zeile des Suchbereiches ausgelassen, suche ich dann dagegen nach "Zimmer" wird mir ein Fundort übersprungen - ich bin völlig ratlos! Nach meiner Logik sollte es eigentlich richtig funktionieren, aber .....
Und wenn der Suchbegriff der letzten Zeile gesucht und gefunden wird, geht es in eine Endlosschleife - hhmmm???


Wer kann mir helfen?


Angehängte Dateien
.xlsm   Mustersuche.xlsm (Größe: 33,42 KB / Downloads: 6)
[Bild: attachment-190.gif]
Gruß Günter
aus der Helden-, Messe-, Musik-, Buch-, Universitäts- und Autostadt Leipzig
Antworten Top
#2
Hallo Günter,

so gehts:


.xlsm   Mustersuche.xlsm (Größe: 38,44 KB / Downloads: 4)
Gruß

Edgar

Meine Antworten sind freiwillig und ohne Gewähr!
Über Rückmeldungen würde ich mich freuen.
Antworten Top
#3
Hallo Edgar,

das attachment=3726 sagt mir garnichts? Dodgy Dodgy 

Hast du vergessen, die Datei anzuhängen?
[Bild: attachment-190.gif]
Gruß Günter
aus der Helden-, Messe-, Musik-, Buch-, Universitäts- und Autostadt Leipzig
Antworten Top
#4
korrigiert
Gruß

Edgar

Meine Antworten sind freiwillig und ohne Gewähr!
Über Rückmeldungen würde ich mich freuen.
Antworten Top
#5
Hallo Edgar,

vielen Dank, das funktioniert - muss ich recherieren, was da so anders als bei mir ist!
Allerdings beginnst du bereits in Zeile 7 zu suchen, obwohl doch der Suchbereich erst ab Zeile 8 losgeht - warum ist das so?
[Bild: attachment-190.gif]
Gruß Günter
aus der Helden-, Messe-, Musik-, Buch-, Universitäts- und Autostadt Leipzig
Antworten Top
#6
(31.12.2015, 19:27)Glausius schrieb: Hallo Edgar,

vielen Dank, das funktioniert - muss ich recherieren, was da so anders als bei mir ist!
Allerdings beginnst du bereits in Zeile 7 zu suchen, obwohl doch der Suchbereich erst ab Zeile 8 losgeht - warum ist das so?
Gruß

Edgar

Meine Antworten sind freiwillig und ohne Gewähr!
Über Rückmeldungen würde ich mich freuen.
Antworten Top
#7
Hallo Günter,

ich hoffe, Du nimmst auch meine Antwort. Das liegt an dem Parameter After. Wenn der nicht angegeben ist, wie es hier der Fall ist, wird nach der linken oberen Zelle mit dem Suchen begonnen. Siehe auch Auszug aus der OH

Zitat:Gibt die Zelle an, nach der mit der Suche begonnen werden soll. Dies entspricht der Position der aktiven Zelle, wenn eine Suche über die Benutzeroberfläche ausgeführt wird. Beachten Sie, dass After eine einzelne Zelle im Bereich darstellen muss. Beachten Sie zudem, dass die Suche hinter dieser Zelle beginnt; die angegebene Zelle wird also erst durchsucht, wenn der Suchlauf zur Ausgangszelle zurückkehrt. Wird das Argument nicht angegeben, stellt die obere linke Zelle des Bereichs den Ausgangspunkt für die Suche dar.

Edgar hat dadruch, das er eine Zeile weiter oben beginnt den Suchbereich vergrößert und er findet somit den ersten Treffer auch in der Zeile 8.

Nachtrag: Oder setze den Parameter auf die letzte, rechte Zelle des Suchbereichs, so wie ich es im Code geändert habe.

Code:
Sub Suchen_aufrufen()
    loLetzte = ActiveSheet.Cells(Rows.Count, 4).End(xlUp).Row
    gesucht = ""
    i = 0
    Range("D7").Select
    Suchen.Show
    If Flag = False Then
        ActiveSheet.CommandButton2.Caption = "Suche"
        Exit Sub
    End If
    With ActiveSheet.Range("D8:D" & loLetzte)
        Set Gefunden = .Find(gesucht, after:=Range("D" & loletze).Row, LookAt:=xlPart, LookIn:=xlValues)
        If Gefunden Is Nothing Then
        nichts_gefunden
        Exit Sub
        Else
        loZeile = Gefunden.Row
        Set rng = Range(Gefunden.Address)
        rng.Select
        End If
        
    End With
    ActiveSheet.CommandButton2.Caption = "weiter suchen"
    Art = True
End Sub
Gruß Stefan
Win 10 / Office 2016
Antworten Top
#8
Hallo,

Direktantwort vom Handy funktioniert schon mal nicht. Ansonsten hat Stefan schon alles gesagt.
Gruß

Edgar

Meine Antworten sind freiwillig und ohne Gewähr!
Über Rückmeldungen würde ich mich freuen.
Antworten Top
#9
Hallöchen,
Test.
Das ist eine Direktamtwort vom Handy.
(31.12.2015, 19:44)BoskoBiati schrieb: Hallo,

Direktantwort vom Handy funktioniert schon mal nicht. Ansonsten hat Stefan schon alles gesagt.
.      \\\|///      Hoffe, geholfen zu haben.
       ( ô ô )      Grüße, André aus G in T  
  ooO-(_)-Ooo    (Excel 97-2019+365)
Antworten Top
#10
Hallo André,

liegt wohl an meinem Handy.
Gruß

Edgar

Meine Antworten sind freiwillig und ohne Gewähr!
Über Rückmeldungen würde ich mich freuen.
Antworten Top


Gehe zu:


Benutzer, die gerade dieses Thema anschauen: 1 Gast/Gäste