Registriert seit: 14.04.2016
Version(en): 2013
17.04.2016, 12:18
(Dieser Beitrag wurde zuletzt bearbeitet: 17.04.2016, 12:18 von Hawkeye.)
Hallo zusammen
Ich verwende folgende Suchmaske:
Code:
Sub Suche()
Dim rngFind As Range
Dim strTitel As String
strTitel = InputBox("Suchbegriff:", "Suchbegriff eingeben", , 5, 5)
Set rngFind = Columns("A:L").Find(strTitel, _
LookIn:=xlValues)
If Not rngFind Is Nothing Then
rngFind.Select
Else
MsgBox "Es wurde nichts gefunden"
End If
End Sub
Diese funktioniert super, allerdings gibt sie immer nur den ersten Wert aus. Kann mir jemand den Code so anpassen, dass er nach der Markierung der gesuchten Zelle fragt, ober er weitersuchen soll? Allerdings nur so lange, bis jeder Wert einmal gefunden wurde (wenn das geht).
Vielen Dank im Voraus!
Registriert seit: 10.04.2014
Version(en): 97-2019 (32) + 365 (64)
Hallöchen,
über unsere Suche findest Du mit dem Stichwort Findnext u.a. diesen Beitrag:
http://www.clever-excel-forum.de/Thread-...t=findnextDie Lösung von dort baust Du entsprechend angepasst in deinen If-Zweig ein.
. \\\|/// Hoffe, geholfen zu haben.
( ô ô ) Grüße, André aus G in T
ooO-(_)-Ooo (Excel 97-2019+365)
Registriert seit: 14.04.2016
Version(en): 2013
Hallo schauan
Danke für deine Antwort. Ich habe bereits mehrere änhliche Besipiele gefunden, jedoch scheitert es an der konkreten Einbettung in meinen Code/mein Problem.
Ich verfüge eigentlich über gar keine VBA-Kenntnisse (nur etwas Programmierkenntnisse in einer Afnängersprache) und bin damit etwas überfordert. Könntetst Du mir den Code entsprechend anpassen?
Registriert seit: 14.04.2016
Version(en): 2013
Da ich das ganze dringend benötige habe ich es nochmals selbst versucht. Leider ohne Erfolg: Entweder bekomme ich Fehler oder es passiert einfach gar nix mehr
Registriert seit: 17.04.2014
Version(en): MS Office 365(32)
Hallo,
das könnte dann z.B. so aussehen:
Sub Suche()
Dim rngFind As Range
Dim strAdresseErsterTreffer As String
Dim strTitel As String
strTitel = InputBox("Suchbegriff:", "Suchbegriff eingeben", , 5, 5)
If Len(strTitel) Then
Set rngFind = Columns("A:L").Find(strTitel, LookIn:=xlValues)
If Not rngFind Is Nothing Then
strAdresseErsterTreffer = rngFind.Address
rngFind.Select
Do While MsgBox("Suche fortsetzen?", vbYesNo, "") = vbYes
Set rngFind = Columns("A:L").FindNext(rngFind)
If rngFind.Address = strAdresseErsterTreffer Then
MsgBox "Es wurde nichts mehr gefunden."
Exit Do
End If
rngFind.Select
Loop
Else
MsgBox "Es wurde nichts gefunden"
End If
End If
End Sub
Gruß Uwe
Folgende(r) 1 Nutzer sagt Danke an Kuwer für diesen Beitrag:1 Nutzer sagt Danke an Kuwer für diesen Beitrag 28
• Hawkeye
Registriert seit: 14.04.2016
Version(en): 2013
18.04.2016, 10:07
(Dieser Beitrag wurde zuletzt bearbeitet: 18.04.2016, 10:07 von Hawkeye.)
Hallo Kuwer
Vielen, vielen Dank. Funktioniert super!
Ein Problem existiert aber noch: Wenn ich nach Daten (z.B. 12.03.2015) suche, findet er diese nicht. In der Ctrl+F Suche allerdings schon. Kann man das entsprechend anpassen? Wenn ich die Daten in der Suche im amerikanischen Format eingebe 3/12/2015 geht es.
Registriert seit: 17.04.2014
Version(en): MS Office 365(32)
(18.04.2016, 10:07)Hawkeye schrieb: Ein Problem existiert aber noch: Wenn ich nach Daten (z.B. 12.03.2015) suche, findet er diese nicht. In der Ctrl+F Suche allerdings schon. Kann man das entsprechend anpassen? Wenn ich die Daten in der Suche im amerikanischen Format eingebe 3/12/2015 geht es.
Hallo,
so funktioniert es bei mir auch mit Daten:
Sub Suche()
Dim rngFind As Range
Dim strAdresseErsterTreffer As String
Dim varTitel As Variant
varTitel = InputBox("Suchbegriff:", "Suchbegriff eingeben", , 5, 5)
If IsDate(varTitel) Then varTitel = CDate(varTitel)
If Len(varTitel) Then
Set rngFind = Columns("A:L").Find(varTitel, LookIn:=xlValues)
If Not rngFind Is Nothing Then
strAdresseErsterTreffer = rngFind.Address
rngFind.Select
Do While MsgBox("Suche fortsetzen?", vbYesNo, "") = vbYes
Set rngFind = Columns("A:L").FindNext(rngFind)
If rngFind.Address = strAdresseErsterTreffer Then
MsgBox "Es wurde nichts mehr gefunden."
Exit Do
End If
rngFind.Select
Loop
Else
MsgBox "Es wurde nichts gefunden"
End If
End If
End Sub
Gruß Uwe
Folgende(r) 1 Nutzer sagt Danke an Kuwer für diesen Beitrag:1 Nutzer sagt Danke an Kuwer für diesen Beitrag 28
• Hawkeye
Registriert seit: 14.04.2016
Version(en): 2013
Hallo
Funktioniert perfekt. Musste nur in einem Dokument den Suchbereich noch vergrössern. Nochmals vielen Dank! Mit meinem Wissen hätte ich das nie hingekriegt, das habe ich nach 2h rumprobieren definitiv realisiert