Live-Forum - Die aktuellen Beiträge
Datum
Titel
28.03.2024 21:12:36
28.03.2024 18:31:49
Anzeige
Archiv - Navigation
1008to1012
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

Suchmakro / Code-Probleme

Suchmakro / Code-Probleme
23.09.2008 10:54:00
sockel939
Hallo Leute,
ich möchte dieser Suchfunktion sagen das sie nach 2 Übereinstimmungen suchen soll.
Was mach ich falsch ?
Thanks in advance

Private Sub CommandButton1_Click()
Dim Sh As Worksheet
Dim GZelle As Range
Dim FStelle$
Dim SBegriff
Dim SBegriff1
If SBegriff = InputBox("Bitte Suchbegriff eingeben:") And SBegriff1 = InputBox("Bitte  _
Suchbegriff   eingeben:") Then
For Each Sh In Worksheets
Sh.Activate
Set GZelle = Sh.Cells.Find(SBegriff) And (SBegriff1)
If Not GZelle Is Nothing Then
FStelle = GZelle.Address
Do
GZelle.Activate
If MsgBox("Weiter", vbYesNo + vbQuestion) = vbNo Then Exit Sub
Set GZelle = Sh.Cells.FindNext(after:=ActiveCell)
If GZelle.Address = FStelle Then Exit Do
Loop
End If
Next Sh
End If
End Sub


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

Betreff
Datum
Anwender
Anzeige
AW: Suchmakro / Code-Probleme
23.09.2008 11:41:00
David
Hallo.
Ich bin auch nicht der große VBA-Experte, aber ich würde sagen, der Fehler liegt hier:

Set GZelle = Sh.Cells.Find(SBegriff) And (SBegriff1)


Wenn ich das richtig verstehe, sollen beide Begriff in einer Zelle vorkommen. Dann musst du den String vorher verknüpfen:


Set GZelle = Sh.Cells.Find("*" & SBegriff & "*" & SBegriff1 & "*")


[ungetestet]
Gruß
David

dann brauchst Du auch 2 InputBoxen
23.09.2008 11:42:00
Matthias
HAllo
probiers mal so

Private Sub CommandButton1_Click()
Dim Sh As Worksheet
Dim GZelle As Range
Dim FStelle$
Dim SBegriff
Dim SBegriff1
SBegriff = InputBox("Bitte ersten Suchbegriff eingeben:")
SBegriff1 = InputBox("Bitte zweiten Suchbegriff eingeben:")
If SBegriff = "" Then GoTo Zwei
For Each Sh In Worksheets
Sh.Activate
Set GZelle = Sh.Cells.Find(SBegriff)
If Not GZelle Is Nothing Then
FStelle = GZelle.Address
Do
GZelle.Activate
If MsgBox("Weiter", vbYesNo + vbQuestion) = vbNo Then Exit Sub
Set GZelle = Sh.Cells.FindNext(after:=ActiveCell)
If GZelle.Address = FStelle Then Exit Do
Loop
End If
Next Sh
Zwei:
If SBegriff1 = "" Then Exit Sub
For Each Sh In Worksheets
Sh.Activate
Set GZelle = Sh.Cells.Find(SBegriff1)
If Not GZelle Is Nothing Then
FStelle = GZelle.Address
Do
GZelle.Activate
If MsgBox("Weiter", vbYesNo + vbQuestion) = vbNo Then Exit Sub
Set GZelle = Sh.Cells.FindNext(after:=ActiveCell)
If GZelle.Address = FStelle Then Exit Do
Loop
End If
Next Sh
End Sub


Gruß Matthias

Anzeige
AW: dann brauchst Du auch 2 InputBoxen
23.09.2008 11:49:00
sockel939
Danke Matthias das funzt,
was nun aber wenn beide Begriffe zusammen gesucht werden sollen z.B.
in Tabelle 199 steht in zelle A untereinander:
Drechsler
op1
op2
op3
op4
Manuels
ich möchte z.B. suchen nach Drechsler und Manuels
oder in Tabelle 271 steht in zelle A untereinander:
Polers
am1
am2
am3
am4
Diverses
ich möchte z.B. suchen nach Polers und am4
Wie geh ich da vor ?
Danke
AW: Suchmakro / Code-Probleme
23.09.2008 12:00:00
Herby
Hallo,
diese "gemischte Suche" funktioniert nicht. Besser du machst 2 Suchroutinen.
Die 1. If-Zeile verstehe ich nicht:
If SBegriff = InputBox("Bitte Suchbegriff eingeben:") And SBegriff1 = InputBox("Bitte _
Suchbegriff eingeben:") Then
die Eingabe der Suchbegriffe erfolgt doch so:
SBegriff = InputBox("Bitte Suchbegriff eingeben:")
SBegriff1 = InputBox("Bitte Suchbegriff eingeben:")
Die Zuweisung an das Objekt GZelle dürfte auch einen Fehler produzieren:
Set GZelle = Sh.Cells.Find(SBegriff) And (SBegriff1)
Ich glaube es ist einfacher und besser 2 einzelne Routinen zu schreiben.
Viele Grüße
Herby
Anzeige
AW: Herby - Wie 2 Routine?
23.09.2008 12:15:00
sockel939
Herby siehe den code von matthias,
kann ich die nicht verbinden?
Hatte schon Probleme mit dem zweiten Suchbegriff !
Kein Plan wie man ne zweite Routine baut.
thanks in Advance
AW: Herby - Wie 2 Routine?
23.09.2008 13:31:00
Herby
Hallo,
wenn du dir den Code von Matthias anschaust, dann sind das 2 Suchroutinen. Mit der 1. Suchroutine
wird der Suchbegriff "SBegriff" gesucht und mit der 2. Suchroutine wird der Suchbegriff "SBegriff1"
gesucht. Mit einem einzigen Suchdurchlauf funktioniert es nicht nach 2 Suchbegriffen zu suchen.
Mit
Set GZelle = Sh.Cells.Find(SBegriff, , , xlPart)
kannst du nach Teilstrings suchen, dh. du gibst z.B. "bahn" als Suchbegriff ein und er findet
auch "Eisenbahn" oder "Bahnhof" etc.
Viele Grüße
Herby
Anzeige
Das muß doch irgendwie funktionieren!
23.09.2008 13:53:15
sockel939
Ok danke Herby
Hab schon versucht mit "call" eine weitere suche einzubinden während er sucht funzt aber nicht :-(
Dann hatte ich die Idee SBegriff 1 und 2 zu verbinden in dem ich die suchroutine nicht beende sondern
als Ergebnis weiterleite, nur fehlt mir hier Know-how.
Mensch das muss doch irgendwie funktionieren!
Gruß
Tom alias sockel939

Links zu Excel-Dialogen

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige