Live-Forum - Die aktuellen Beiträge
Anzeige
Archiv - Navigation
1552to1556
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

Objektvariable oder With-Blockvariable nicht festg

Objektvariable oder With-Blockvariable nicht festg
16.04.2017 10:24:25
Steve
Hallo Profis.......frohe Ostern und schönen Tag.
Hätte mal wieder ein kleines Problem:
Möchte einen Suchbutton einarbeiten der alle Tabellenblätter nach (Begriffen, Namen, Zahlen,usw.) durchsucht.
Hier der von mir im Netz gefundene Code:
Public Sub SearchAllTables()
Dim ws As Worksheet
Dim c As Range
Dim firstAddress As String
Dim secAddress As String
Dim GFound As Boolean
Dim GWeiter As Boolean
GWeiter = False
GFound = False
anf:
SSearch = InputBox("Geben sie einen Namen/Einheit/Begriff ein:", "Suchen in alle Tabellen",  _
_
SSearch)
If SSearch = "" Then
End
End If
weiter:
For Each ws In Worksheets
With ws.Cells
Set c = .Find(SSearch, LookIn:=xlValues, MatchCase:=False)
If Not c Is Nothing Then
GFound = True
ws.Select
c.Select
firstAddress = c.Address
If MsgBox("Weitersuchen ?", vbQuestion + vbYesNo) = vbYes Then
Do
Set c = .FindNext(c)
secAddress = c.Address
If c.Address = firstAddress Then
Exit Do
End If
c.Select
If MsgBox("Weitersuchen ?", vbQuestion + vbYesNo) = vbNo Then
GWeiter = True
GoTo ende
End If
Loop While Not c Is Nothing And secAddress  firstAddress And c.Address   _
_
firstAddress
Else
GWeiter = True
GoTo ende
End If
End If
End With
Next ws
ende:
If GFound = False Then
If MsgBox("Suchwert nicht gefunden ! Neue Suche ?", vbInformation + vbYesNo) = vbYes  _
Then
GoTo anf:
End If
Else
If GWeiter = False Then
If MsgBox("Sie haben alle Tabellenblätter durchsucht ! Soll die Suche neu gestartet  _
_
werden ?", vbInformation + vbYesNo) = vbYes Then
GoTo weiter
End If
End If
End If
End Sub

Bei folgenden Stellen:
firstAddress = c.Address
und
secAddress = c.Address
bricht er teilweise ab und der Debugger zeigt an
> Objektvariable oder With-Blockvariable nicht festgelegt>
Bitte um Lösung was da falsch ist?
Danke im voraus für die Mühen und mfg
STeve

15
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: Objektvariable oder With-Blockvariable nicht festg
16.04.2017 10:40:05
Hajo_Zi
in meiner Datei wird kein Fehler ausgelöst, das mag daran liegen das meine Datei anders aussieht und das ich nach was anderem Suche als Du.
Man sollte alle Variablen vor der ersten Verwendung definieren.

AW: Objektvariable oder With-Blockvariable nicht festg
16.04.2017 10:49:09
Steve
Guten Morgen Hajo
Danke für schnelle Antwort.
Wie kann das sein dass bei der einen Suche (String) es geht und bei der anderen (auch String) nicht?
Die Variablen habe ich alle definiert - vielleicht ist
Dim c As Range
falsch?
Danke
AW: Objektvariable oder With-Blockvariable nicht festg
16.04.2017 10:54:08
Hajo_Zi
Mein Excel sieht das wohl anders als Deins. Meins meint "SSearch" ist nicht definiert.
Ich bin dann raus da mein Excel wohl anders ist und da ich nicht auf fremde Rechner schaue.
Gruß Hajo
Anzeige
AW: Objektvariable oder With-Blockvariable nicht festg
16.04.2017 11:02:22
Steve
Sorry SSearch ist ganz oben definiert als:
Option Explicit
Global SSearch As String
mfg
AW: Objektvariable oder With-Blockvariable nicht festg
16.04.2017 10:59:59
Steve
Das Problem liegt bei
c.Address Objektvariable oder With-Blockvariable nicht festgelegt
Beim Start der Suche findet er den ersten Begriff - bei Weitersuche debuggt er?
mfg
AW: keine Meldung
16.04.2017 11:21:13
MB12
Hallo Steve
hab das Makro unter Excel 2010 und 2013 getestet - läuft bei mir problemlos durch.
Lade doch mal eine abgespeckte /anonymisierte Version deiner Datei hoch, vielleicht fällt jemandem was auf.
Schönen Sonntag, Margarete
Datei wurde jetzt hochgeladen
16.04.2017 12:44:16
Steve
Hallo.... so jetzt hab ich eine anonymisierte Datei hochgeladen.
https://www.herber.de/bbs/user/112905.xlsm
Bei der Eingabe des Begriffes
suchst
macht der Button genau was er soll. Geht alle Tabellen durch zeigt die Zelle an.
Jetzt fällt mir auf
dass beim suchbegriff
landes
es nicht auf die weiteren Tabellenblätter springt und sondern beim ersten Treffer hängen bleibt.
Kann das an der Formatierung (mehrere Zellen verbunden) liegen?
Bitte um Ideen Vorschläge oder Korrekturen.
Danke
Anzeige
Fehler selbst gefunden
16.04.2017 14:01:40
Steve
Hallo habe den Fehler selbst gefunden.
Wenn die Suche auf verbundene Zellen trifft dann gibt es Absturz.
Somit erledigt.
Danke und schönen Sonntag noch.
STeve
Danke an Hajo und Margarete
16.04.2017 14:04:08
Steve
Schönen Ostersonntag noch
mfg Steve
AW: gerne; manchmal.....
16.04.2017 14:39:09
MB12
...braucht man nur einen Such-Anstoß
Gruß, Margarete
das liegt aber nicht an den Verbundzellen owT
16.04.2017 15:34:36
Matthias
AW: das liegt aber nicht an den Verbundzellen owT
16.04.2017 20:21:49
Steve
Hallo Matthias.
Habe bei meiner Orginaldatei nun alle verbundenen Zellen wieder getrennt.
Ganz schön Arbeit bei 25 Tabellenblättern und pro Blatt einige verbundenen Zellen.
Jetzt klappt es.............
Glaube er erkennt die Variable:
c.Address
bei der "weitersuchen" nicht!!!
Aber wenn du eine Idee hast was beim Code falsch ist ..bitte erklären.
Danke
Anzeige
AW: das liegt aber nicht an den Verbundzellen owT
16.04.2017 21:06:34
Matthias
Hallo
Der VBA-Fehler tritt bei mir nur auf, wenn es keinen 2.Eintrag in dem Sheet gibt
Der Fairnishalber muss ich aber zugeben nicht besonders ausgiebig getestet zu haben.
Es ist ja Ostern ;-)
Ich hab mal nur eine 2 MsgBox-Ausgaben eingebaut
    For Each ws In Worksheets
With ws.Cells
Set c = .Find(SSearch, LookIn:=xlValues, MatchCase:=False)
If Not c Is Nothing Then
GFound = True
ws.Select
c.Select
MsgBox c.Address
firstAddress = c.Address
If MsgBox("Weitersuchen ?", vbQuestion + vbYesNo) = vbYes Then
Do
Set c = .FindNext(c)
MsgBox c.Address

Die Zelle mit dem Suchbegriff wird mir ja angezeigt.
Wobei mir aber auffällt das ws.Select nur in der 1.Schleife programmiert ist.
Aber egal, wenn es ohne Verbundzellen jetzt geht, dann lass es einfach so.
Gruß Matthias
Anzeige
AW: das liegt aber nicht an den Verbundzellen owT
16.04.2017 23:20:36
Steve
Hallo Matthias
Danke für deine Mühen.
Der erste Treffer wird immer angezeigt - auch bei verbundenen Zellen - aber dann Absturz.
Habe nochmal einige Blätter umgeschrieben - geht dann aber nicht mehr.
Es muss also mit der Verbindung zusammenhängen.
ws.Select wurde auch in die zweite Schleife eingetragen - Danke
Schöne Ostern noch.
mfg STeve

303 Forumthreads zu ähnlichen Themen

Anzeige
Anzeige

Links zu Excel-Dialogen

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige