Dieses Forum nutzt Cookies
Dieses Forum verwendet Cookies, um deine Login-Informationen zu speichern, wenn du registriert bist, und deinen letzten Besuch, wenn du es nicht bist. Cookies sind kleine Textdokumente, die auf deinem Computer gespeichert werden. Die von diesem Forum gesetzten Cookies werden nur auf dieser Website verwendet und stellen kein Sicherheitsrisiko dar. Cookies aus diesem Forum speichern auch die spezifischen Themen, die du gelesen hast und wann du zum letzten Mal gelesen hast. Bitte bestätige, ob du diese Cookies akzeptierst oder ablehnst.

Ein Cookie wird in deinem Browser unabhängig von der Wahl gespeichert, um zu verhindern, dass dir diese Frage erneut gestellt wird. Du kannst deine Cookie-Einstellungen jederzeit über den Link in der Fußzeile ändern.

Laufzeitfehler 91 ohne Deklarationen
#1
Hallo liebes Clever Forum,

bei dem unteren Code sollen zwei Sheets in eine neue Tabelle eingefügt werden. Der Code lief immer einwandfrei bis ich den Ordner der Sheets aus Versehen umbenannt, und wieder zurück benannt habe.
Ich sehe hier keinen Pfad, den ich überprüfen könnte, auch habe ich den Code nicht selber geschrieben. Er ist genauso, ohne Deklarationen, als Makro hinterlegt :(

Bei der Ausführung tritt "Laufzeitfehler 91: Objektblockvariable oder With-Blockvariable nicht festgelegt" auf.

Ich danke für jede Mithilfe!
Code:
Range("A1").Select
   Selection.AutoFilter
   ActiveWorkbook.Worksheets("Combined").AutoFilter.Sort.SortFields.Clear
   ActiveWorkbook.Worksheets("Combined").AutoFilter.Sort.SortFields.Add(Range( _
       "B1:B146"), xlSortOnCellColor, xlAscending, , xlSortNormal).SortOnValue.Color _
       = RGB(255, 255, 0)
   With ActiveWorkbook.Worksheets("Combined").AutoFilter.Sort
       .Header = xlYes
       .MatchCase = False
       .Orientation = xlTopToBottom
       .SortMethod = xlPinYin
       .Apply
   End With
Antworten Top
#2
Hallo,

welche Zeile wird bei der Fehlermeldung markiert?
Gruß Stefan
Win 10 / Office 2016
[-] Folgende(r) 1 Nutzer sagt Danke an Steffl für diesen Beitrag:
  • SiriKlaus
Antworten Top
#3
(19.02.2018, 08:40)SiriKlaus schrieb: bei dem unteren Code sollen zwei Sheets in eine neue Tabelle eingefügt werden.
Moin!
Sicherlich nicht!
Dein Code setzt einen Autofilter und sortiert innerhalb dessen.
Gruß Ralf
Gib einem Mann einen Fisch und du ernährst ihn für einen Tag. 
Lehre einen Mann zu fischen und du ernährst ihn für sein Leben. (Konfuzius)
[-] Folgende(r) 1 Nutzer sagt Danke an RPP63 für diesen Beitrag:
  • SiriKlaus
Antworten Top
#4
Danke für die Hinweise! Mir ist ein Fehler unterlaufen, der Laufzeitfehler lautet 9 "Index außerhalb gültigen Bereichs" in folgender Zeile:

ActiveWorkbook.Worksheets("Combined").AutoFilter.Sort.SortFields.Clear

Code:
Sub data()
'
    Range("A1").Select
   Selection.AutoFilter
    ActiveWorkbook.Worksheets("Combined").AutoFilter.Sort.SortFields.Clear
   ActiveWorkbook.Worksheets("Combined").AutoFilter.Sort.SortFields.Add(Range( _
       "B1:B146"), xlSortOnCellColor, xlAscending, , xlSortNormal).SortOnValue.Color _
       = RGB(255, 255, 0)
   With ActiveWorkbook.Worksheets("Combined").AutoFilter.Sort
       .Header = xlYes
       .MatchCase = False
       .Orientation = xlTopToBottom
       .SortMethod = xlPinYin
       .Apply
   End With
Antworten Top
#5
Hi,

dann gibt es vermutlich das Arbeitsblatt "Combined" nicht mehr im aktiven Workbook.
[-] Folgende(r) 1 Nutzer sagt Danke an Rabe für diesen Beitrag:
  • SiriKlaus
Antworten Top
#6
Du hast kein Blatt mit dem Namen Combined
Meist wird sowas durch ein Leerzeichen am Ende verursacht.
Mein Hinweis in der letzten Nachricht bleibt natürlich bestehen.

Gruß Ralf
Gib einem Mann einen Fisch und du ernährst ihn für einen Tag. 
Lehre einen Mann zu fischen und du ernährst ihn für sein Leben. (Konfuzius)
[-] Folgende(r) 1 Nutzer sagt Danke an RPP63 für diesen Beitrag:
  • SiriKlaus
Antworten Top
#7
Und weil mein Namensvetter Rabe auch darauf hinwies:
ActiveWorkbook sollte man nur dann einsetzen, wenn man bewusst ein unbekanntes Workbook ansprechen will.
ThisWorkbook hingegen ist eindeutig und bezieht sich auf die Datei mit dem Makro.
Gib einem Mann einen Fisch und du ernährst ihn für einen Tag. 
Lehre einen Mann zu fischen und du ernährst ihn für sein Leben. (Konfuzius)
[-] Folgende(r) 1 Nutzer sagt Danke an RPP63 für diesen Beitrag:
  • SiriKlaus
Antworten Top
#8
Vielen Dank für den allgemeinen Hinweis RPP63 jetzt fiel mir das lesen auch leichter! In einer vorherigen Makro wird ein Sheet namens "Combined" erstellt, ich sehe es auch während ich die aktuelle Makro laufen lasse... ich habe auch nochmal die Namen nach Leerzeichen gescannt und keine gefunden.

Die Fehlermeldung 9 ist dank ThisWorkbook statt ActiveWorkbook weg.

Dafür taucht nun in derselben Zeile "Laufzeitfehler 91: Objektblockvariable oder With-Blockvariable nicht festgelegt" auf.
Antworten Top
#9
Hallo,

[Vermutung an]
vielleicht kein Autofilter im Tabellenblatt gesetzt?
[Vermutung aus]

Code:
If ThisWorkbook.Worksheets("Combined").AutoFilterMode Then ThisWorkbook.Worksheets("Combined").AutoFilter.Sort.SortFields.Clear
Gruß Stefan
Win 10 / Office 2016
[-] Folgende(r) 1 Nutzer sagt Danke an Steffl für diesen Beitrag:
  • SiriKlaus
Antworten Top
#10
Hallo Steffl,

das stimmt ich hab deine Zeile eingegeben, er findet keine AutoFilterMode und überspringt die Angabe nach "Then".

Kannst du mir ein Angabe für ein "Else" vorschlagen? Wie kann so ein Fehler auftreten, obwohl nur der Ordnername umbenannt und wieder zurückbenannt wurde?
Antworten Top


Gehe zu:


Benutzer, die gerade dieses Thema anschauen: 1 Gast/Gäste