Live-Forum - Die aktuellen Beiträge
Anzeige
Archiv - Navigation
552to556
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
552to556
552to556
Aktuelles Verzeichnis
Verzeichnis Index
Verzeichnis Index
Übersicht Verzeichnisse
Inhaltsverzeichnis

Multisuche

Multisuche
22.01.2005 07:41:52
Martin
brauche hilfe
habe folgenden code im archiv gefunden und etwas angepasst!
funktioniert leider nur teilweise
Problem 1 wenn das makro durchläuft sucht er auch in der Zieltabelle!
wie kann ich diese ausklammern ?
Problem 2 bei einigen suchbegriffen kommt die meldung objektvariabele oder with-blockvariable nicht festgelegt
wo ist der fehler?
vielen dank im vorraus

Sub MultiSuche()
Dim Sh As Worksheet
Dim GZelle As Range
Dim FStelle$
Dim SBegriff As String
SBegriff = InputBox("Bitte Suchbegriff eingeben:")
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
Call Copy
Set GZelle = Cells.FindNext(After:=ActiveCell)
If GZelle.Address = FStelle Then Exit Do
Loop
End If
Next Sh
End Sub


Sub Copy()
ActiveCell.Offset(0, -6).Range("A1:G3").Copy
z = 10
Worksheets("Parameter").Cells(z, 1).Insert
End Sub

14
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: Multisuche
Ramses
Hallo
Probier mal das
Option Explicit

Sub MultiSuche()
Dim Sh As Worksheet, tarWks As Worksheet
Dim GZelle As Range
Dim FStelle As Range
Dim SBegriff As String
Set tarWks = Worksheets("Zieltabelle")
SBegriff = InputBox("Bitte Suchbegriff eingeben:")
If SBegriff = "" Then
MsgBox "Kein Suchbegriff"
Exit Sub
End If
For Each Sh In Worksheets
'Sh.Activate
If Sh.Name <> tarWks.Name Then
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
Call copy
Set GZelle = Sh.Cells.FindNext(After:=ActiveCell)
If GZelle.Address = FStelle Then Exit Do
Loop
End If
End If
Next Sh
End Sub

Gruss Rainer
Anzeige
AW: Multisuche
Martin111
Leider funzt es nicht
in der zeile hängt er
FStelle = GZelle.Address
Meldung objektvariabele oder with-blockvariable nicht festgelegt
vieleicht einen rat für micht was er damit meint
AW: Multisuche
Ramses
Hallo
Sorry, es muss heissen
Dim FStelle As String
Gruss Rainer
AW: Multisuche
Martin
Habe den code jetz so abgeändert das er die Zieltabelle meidet,
leider hat er sucht er nicht jeden begriff wo dann die fehlermeldung
kommt Meldung objektvariabele oder with-blockvariable nicht festgelegt
und zwar in der zeile
If GZelle.Address = FStelle Then Exit Do
hier den code

Sub MultiSuche()
Dim Sh As Worksheet, tarWks As Worksheet
Set tarWks = Worksheets("Parameter")
Columns("A:G").Select
Selection.Clear
Range("A1").Select
'Dim Sh As Worksheet
Dim GZelle As Range
'Dim FStelle$
Dim SBegriff As String
Dim FStelle As String
SBegriff = InputBox("Bitte Suchbegriff eingeben:")
For Each Sh In Worksheets
If Sh.Name <> tarWks.Name Then
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
Call Copy
Set GZelle = Cells.FindNext(After:=ActiveCell)
If GZelle.Address = FStelle Then Exit Do
Loop
End If
End If
Next Sh
Sheets("Parameter").Select
End Sub


Sub Copy()
'z = 1
ActiveCell.Offset(0, -6).Range("A1:G3").Copy 'Range("Parameter!A2")
z = 10
Worksheets("Parameter").Cells(z, 1).Insert
'z = z + 1
End Sub

vieleicht einen rat für micht was er damit gemeint ist
trotzdem schon mal vielendank das ist jetzt ne ecke weiter
Anzeige
AW: Multisuche
Ramses
Hallo
ich kann dein Problem nicht nachvollziehen.
Das Makro funktioniert bei mir einwandfrei.
Was meinst du mit
"...leider hat er sucht er nicht jeden begriff..."
Gruss Rainer
AW: Multisuche
Martin
Die suche funktioniert soweit
Dies ist ein Archiv über mehrere Moonate Menügestaltung um zu erfahren wieviel ich von welchen gericht und wieviel ich verkauft habe und wie teuer bringt er mir diese information.
gebe ich zum beispeil Schitzel ein läuft es vollständig durch,
gebe ich hähnchen ein erzielt er ca. 10 ergebnisse und bricht mit dieser fehlermeldung ab objektvariabele oder with-blockvariable nicht festgelegt
und zwar in der zeile
If GZelle.Address = FStelle Then Exit Do
gebe ich brathering ein ist er bereits bei der ersten fundstelle bei der fehlermeldung.
bei erbse oder blumenkohl läuft er wieder vollständig durch bei hummer wieder nicht.
was sind die gründe!
Anzeige
AW: Multisuche
Ramses
Hallo
Tut mir leid, das ist mir unerklärlich.
Der Code funktioniert ja bei anderen Suchbegriffen.
Sorry. Keine Erklärung.
Wenn es möglich ist, stell doch eine Beispieltabelle hoch und schreib dort rein welche Suchbegriffe nicht funktionieren, damit man das mal testen kann.
Gruss Rainer
AW: Multisuche
Martin
Hier einen kleinen teil der datei aber trotzdem groß
die begriffe z. B. gulasch, spargel, lamm, eintopf, lachs, hummer
sind die die nicht oder nur teilweise gefunden werden wo die fehlermeldung auftaucht
wäre dir dankbar wenn du den fehler herausfindest
Datei fehlt. o.T.
Ramses
...
AW: Multisuche
Ramses
Hallo
Oh Mann,....
Wenn ich die Speisekarte lese, läuft mir das Wasser im Mund zusammen :-)
Das ganze war gar nicht so einfach,....
Hauptproblem waren die geschützten Tabellen, welche nicht durchsucht werden konnten.
Das zweite war, dass wenn der Suchbegriff nur einmal in der Tabelle vorkam, kam es zu dem von Dir beschriebenen Fehler.
Beides ist nun abgefangen, allerdings sieht der Code nun ein wenig anders aus :-)
https://www.herber.de/bbs/user/16614.zip
Viel Spass. Schau mal ob das jetzt so OK ist
Gruss Rainer
Anzeige
GENIAL
Martin
absolut super habe die textzeile noch angepasst weil ich die genaue definition vom gericht benötige bin echt begeistert!
solltest du in einer kantine meinen namen als betriebsleiter lesen sprech mich an,
lade ich dich zum essen ein.
vielen dank !
habe das ganze archiv durchfortet und keine lösung gefunden und hacke an dem thema schon über ein jahr herum
gruß an den rest im forum dass ist wirklich eine kapazität
Merci :-)
Ramses
Hallo
muss ich jetzt ganz Deutschland abklappern, oder reicht es wenn ich mich im nördlichen Mitteldeutschland umsehe :-)
Gruss Rainer
AW: Merci :-)
Martin
wenn du Dortmund damit meinst liegst du ganz gut
nochmals vielen Dank bis demnächt cu
Anzeige

Links zu Excel-Dialogen

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige