Registriert seit: 14.02.2018
Version(en): Office 2016
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
Registriert seit: 11.04.2014
Version(en): Office 2007
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:1 Nutzer sagt Danke an Steffl für diesen Beitrag 28
• SiriKlaus
Registriert seit: 12.10.2014
Version(en): 365 Insider (64 Bit)
(19.02.2018, 09: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:1 Nutzer sagt Danke an RPP63 für diesen Beitrag 28
• SiriKlaus
Registriert seit: 14.02.2018
Version(en): Office 2016
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.ClearCode:
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
Registriert seit: 10.04.2014
Version(en): 2016 + 365
20.02.2018, 15:16
(Dieser Beitrag wurde zuletzt bearbeitet: 20.02.2018, 15:16 von Rabe.)
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:1 Nutzer sagt Danke an Rabe für diesen Beitrag 28
• SiriKlaus
Registriert seit: 12.10.2014
Version(en): 365 Insider (64 Bit)
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:1 Nutzer sagt Danke an RPP63 für diesen Beitrag 28
• SiriKlaus
Registriert seit: 12.10.2014
Version(en): 365 Insider (64 Bit)
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:1 Nutzer sagt Danke an RPP63 für diesen Beitrag 28
• SiriKlaus
Registriert seit: 14.02.2018
Version(en): Office 2016
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.
Registriert seit: 11.04.2014
Version(en): Office 2007
21.02.2018, 16:16
(Dieser Beitrag wurde zuletzt bearbeitet: 21.02.2018, 16:16 von Steffl.
Bearbeitungsgrund: Code ergänzt
)
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:1 Nutzer sagt Danke an Steffl für diesen Beitrag 28
• SiriKlaus
Registriert seit: 14.02.2018
Version(en): Office 2016
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?