Anzeige
Archiv - Navigation
524to528
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
524to528
524to528
Aktuelles Verzeichnis
Verzeichnis Index
Verzeichnis Index
Übersicht Verzeichnisse
Inhaltsverzeichnis

suchen/weitersuchen ergänzen

suchen/weitersuchen ergänzen
01.12.2004 14:37:30
Korl
Hallo,
Ich habe eine Datenbank bestehend aus PLZ, Orte, Straßen, Kreiskürzel und …
Nun wird hier hauptsächlich nach Orte und Straßen gesucht.
In der Recherche habe ich ein Standartmodel für suchen/weitersuchen gefunden, welches auch so ganz gut funktioniert.
Mein Problem:
1. Er beginnt die Suche ab der aktiven Zelle abwärts. Mein Wunsch, stets ab der 1. Zeile die Suche zu beginnen.
2. Bei doppelten Einträgen durchläuft der Code alle erst durch. Mein Wunsch, die Suche nach Wunsch an der gewünschten Stelle abbrechen zu können.
Hier den Code, den ich gefunden habe:

Sub Auswahl()
Dim rng As Range
Dim sBegriff As String, sAdress As String
sBegriff = InputBox( _
prompt:="Bitte Suchbegriff eingeben:", _
Default:="Hallo")
If sBegriff = "" Then Exit Sub
Set rng = Cells.Find( _
What:=sBegriff, _
Lookat:=xlWhole, _
LookIn:=xlValues, _
MatchCase:=False, _
After:=ActiveCell)
If rng Is Nothing Then
Beep
MsgBox "Suchbegriff nicht gefunden!", , _
Application.UserName
Exit Sub
End If
sAddress = rng.Address
rng.Select
MsgBox rng.Address(False, False)
rng.Offset(1).Select
Do
Cells.FindNext(After:=ActiveCell).Activate
If ActiveCell.Address = sAddress Then Exit Sub
MsgBox ActiveCell.Address(False, False)
Loop
End Sub

Lässt sich dieser Code an meine Bedürfnisse anpassen?
Gruß Korl

7
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: suchen/weitersuchen ergänzen
Josef
Hallo Korl!
Ich schon wieder;-)
Probier mal.
Option Explicit

Sub Auswahl()
Dim rng As Range
Dim sBegriff As String, sAdress As String, sFrage As String
sBegriff = InputBox( _
prompt:="Bitte Suchbegriff eingeben:", _
Default:="Hallo")
If sBegriff = "" Then Exit Sub
Set rng = Cells.Find( _
What:=sBegriff, _
Lookat:=xlWhole, _
LookIn:=xlValues, _
MatchCase:=False, _
After:=Range("IV65536"))
If rng Is Nothing Then
Beep
MsgBox "Suchbegriff nicht gefunden!", , _
Application.UserName
Exit Sub
End If
sAdress = rng.Address
sFrage = MsgBox("Fundstelle:" & Space(25) & vbLf & vbLf & _
vbTab & rng.Address(False, False) & vbLf & vbLf & _
"Weitersuchen?", vbYesNo, "Fundstelle")
If sFrage = vbNo Then
Application.Goto rng, True
Exit Sub
End If
Do
Set rng = Cells.FindNext(After:=rng)
If rng.Address = sAdress Then Exit Sub
sFrage = MsgBox("Fundstelle:" & Space(25) & vbLf & vbLf & _
vbTab & rng.Address(False, False) & vbLf & vbLf & _
"Weitersuchen?", vbYesNo, "Fundstelle")
If sFrage = vbNo Then
Application.Goto rng, True
Exit Sub
End If
Loop
End Sub

Gruß Sepp
Anzeige
AW: suchen/weitersuchen ergänzen
Jan
Hi Korl,
zu 1. Entferne den Eintrag After:=ActiveCell aus dem Code.
zu 2. Baue eine MsgBox ein, wo Du entsprechend den Vorgang abbrechen kannst.
Jan
AW: suchen/weitersuchen ergänzen
01.12.2004 15:44:35
Korl
Hallo Sepp,
es freut mich Dich wieder zu sehen. Du bist immer wieder ein guter Ratgeber!
Dein Code läuft soweit ganz gut, nur der Cursor läuft nicht mit. Suche ich eine bestimmte Straße die dann in verschiedenen Orten zufinden ist, weis ich nicht, wann ich stoppen muß, da ich nicht den Ort dafür sehe.
Hallo Jan,
die Stelle auf die Du verweist hatte ich schon im Auge, aber VBA und ich ?
Gruß Korl
AW: suchen/weitersuchen ergänzen
Josef
Hallo Korl!
Das kommt, weil ich Select und Activate nicht mag, aber in diesem Fall
ist es notwendig.
Ändere einfach beide male diesen Teil
sFrage = MsgBox("Fundstelle:" & Space(25) & vbLf & vbLf & _
vbTab & rng.Address(False, False) & vbLf & vbLf & _
"Weitersuchen?", vbYesNo, "Fundstelle")
If sFrage = vbNo Then
Application.Goto rng, True
Exit Sub
End If
um in
Application.Goto rng, True
sFrage = MsgBox("Fundstelle:" & Space(25) & vbLf & vbLf & _
vbTab & rng.Address(False, False) & vbLf & vbLf & _
"Weitersuchen?", vbYesNo, "Fundstelle")
If sFrage = vbNo Then
Exit Sub
End If
Gruß Sepp
Anzeige
AW: suchen/weitersuchen ergänzen
01.12.2004 18:08:24
Korl
Hallo Jepp,
jetzt bin ich nicht mehr ganz blind beim suchen, nur noch halb. ;-)
Der Cusor geht jetzt mit, schiebt aber die Spalten die links davon liegen, weg, sodaß ich diese nicht sehen kann während des suchens.
Soll heißen: Suche ich einen Ort, kann ich die PLZ die links neben der Suchspalte ist, nicht sehen.
Suche ich eine Straße, sehe ich nicht den Ort dazu.
Jepp, nicht das ich nervig werde? ;-)
Gruß Korl
AW: suchen/weitersuchen ergänzen
01.12.2004 18:28:37
Josef
Hallo Korl!
Du wirst ganz und gar nicht nervig!
Ersetze einfach

Application.Goto rng, True

durch

rng.Select

Gruß Sepp
Anzeige
Jepp, es läuft wie es soll, Toll !!!
01.12.2004 19:30:55
Korl
Hallo Sepp,
ich freue mich immer wieder, wenns läuft!
Wiedermal ein großes Dankeschön an Dich.
Gruß Korl

Links zu Excel-Dialogen

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige