Registriert seit: 07.05.2020
Version(en): 2016
Mappe für CEF.xlsm (Größe: 54,59 KB / Downloads: 17)
Hallo zusammen, ich habe in meiner Datei ein Makro, dass mir die Tabelle sortiert und ausdruckt. Es sortiert in der Spalte "I" und druckt mir das dann aus und das geht so lange, bis in Spalte "I" alles einmal durchgelaufen ist. Sage ich dem Makro nun, er soll in Spalte "K" anstatt in "I" schauen, bekomme ich immer folgende Fehlermeldung: "Fehlender oder ungültiger Feldname im Zielbereich." mit: Range("i5:i117").AdvancedFilter xlFilterCopy, , Range("iv1").Cells, True Range("A4").AutoFilter Field:=9, Criteria1:=SB klappt es, mit Range("k5:k117").AdvancedFilter xlFilterCopy, , Range("iv1").Cells, True Range("A4").AutoFilter Field:=12, Criteria1:=SB geht es nicht und die Fehlermeldung oben kommt. Was habe ich falsch gemacht? Datei mit dem "sortieren"-Makro ist im Anhang. Kann mir jemand meinen Fehler beheben? Vielen Dank im Voraus. Liebe Grüße Andreas
Registriert seit: 11.04.2014
Version(en): Office 365
Hallo,
nur mal so geraten: Spalte K ist die 11. Spalte, nicht die 12. wie bei dir.
Viele Grüße Klaus-Dieter Der Erfolg hat viele Väter, der Misserfolg ist ein Waisenkind Richard Cobden
Registriert seit: 07.05.2020
Version(en): 2016
Hallo Klaus-Dieter,
daran liegt es leider nicht.
Schade, trotzdem vielen Dank.
Gruß Andreas
Registriert seit: 12.06.2020
Version(en): 2024, 365business
es liegt meines Erachtens daran, das du in der Spalte eine Formel hast. Wenn man die angezeigten Werte in einer neuen Spalte als Werte einfügt und diese dann mit dem Makro filtert, geht es.
Leider bin ich nicht Spezialist genug, um dir hier ne bessere Lösung zu anzubieten.
Registriert seit: 16.08.2017
Version(en): 2007 / 2010 / Web
Hi Versuch es mal mit der Variante. Code: Sub Makro1() Dim SB Columns("IV").Clear Range(Range("I5"), Range("I5").End(xlDown)).Copy Range("IV1") Range(Range("IV1"), Range("IV1").End(xlDown)).RemoveDuplicates Columns:=1, Header:=xlNo Range("A5").Activate For Each SB In Range(Range("IV1"), Range("IV1").End(xlDown)).Cells Range("A4").AutoFilter Field:=9, Criteria1:=SB.Value 'ActiveSheet.PrintOut Application.Wait Now + TimeSerial(0, 0, 1) 'Pause zum anschauen am Bildschirm Next Range("A4").AutoFilter Field:=9 End Sub
Registriert seit: 07.05.2020
Version(en): 2016
Hallo,
leider klappt es nicht, sobald in der zu filternden Spalte eine Formel steht.
Wenn ich von Hand filter, steht als Auswahl zwar (in meiner Mappe in Spalte K "A,C,D,E" usw., aber mein Makro kann das nicht als Wert interpretieren und steigt deswegen aus.
Ich denke, ich werden eine Hilfsspalte einbauen müssen und die Formelergebnisse in diese Spalte kopieren müssen und dann diese Spalte für das Makro nehmen.
Schade, ich dachte, es gäbe eine Möglichkeit, dass zu umgehen.
Vielleicht hat ja noch jemand einen heißen Tipp?
Viele Grüße Andreas
Registriert seit: 16.08.2017
Version(en): 2007 / 2010 / Web
Für Formelspalte. Code: Sub Makro1() Dim SB Columns("IV").Clear Range(Range("K5"), Range("K5").End(xlDown)).Copy Range("IV1").PasteSpecial (xlPasteValues) Range(Range("IV1"), Range("IV1").End(xlDown)).RemoveDuplicates Columns:=1, Header:=xlNo Range("B5").Activate For Each SB In Range(Range("IV1"), Range("IV1").End(xlDown)).Cells Range("A4").AutoFilter Field:=11, Criteria1:=SB.Value 'ActiveSheet.PrintOut Application.Wait Now + TimeSerial(0, 0, 1) 'Pause zum anschauen am Bildschirm Next Range("A4").AutoFilter Field:=11 End Sub
Folgende(r) 1 Nutzer sagt Danke an Elex für diesen Beitrag:1 Nutzer sagt Danke an Elex für diesen Beitrag 28
• ari-2001
Registriert seit: 07.05.2020
Version(en): 2016
Hallo Elex,
ich habe noch ein kleines Problem.
Wie schreibe ich das Makro um, dass es mir vor dem Ausdruck noch unter der Tabelle befindliche Index-Formeln aktualisiert und dann erst ausdruckt? So sortiert er zwar super, aber beim Ausdruck sind die Formel nicht aktualisiert.
Und wie bekomme ich das Makro so hin, dass er in Spalte A (Datum) runterläuft? Ich scheiter da grade dran.
Viele Grüße Andreas
Registriert seit: 16.08.2017
Version(en): 2007 / 2010 / Web
Hi Zitat:aber beim Ausdruck sind die Formel nicht aktualisiert Versuch es mal so. Lasse die Pause evtl. auch so drin. Code: Sub Makro1() Dim SB Columns("IV").Clear Range(Range("K5"), Range("K5").End(xlDown)).Copy Range("IV1").PasteSpecial (xlPasteValues) Range(Range("IV1"), Range("IV1").End(xlDown)).RemoveDuplicates Columns:=1, Header:=xlNo Range("B5").Activate For Each SB In Range(Range("IV1"), Range("IV1").End(xlDown)).Cells Range("A4").AutoFilter field:=11, Criteria1:=SB.Value Calculate Application.Wait Now + TimeSerial(0, 0, 1) 'Pause zum anschauen am Bildschirm ActiveSheet.PrintOut Next Range("A4").AutoFilter field:=11 End Sub
Zitat:Und wie bekomme ich das Makro so hin, dass er in Spalte A (Datum) runterläuft? Wie meinst du das? Gruß Elex
Registriert seit: 07.05.2020
Version(en): 2016
Hallo Elex, mit dem nach Datum sortieren geht mit: Range("IV1").PasteSpecial (xlPasteValuesAndNumberFormats) (Format der Zellen und der Wert muss mit kopiert werden) Range("A4").AutoFilter Field:=18, Criteria1:="=" & SB.Value, Operator:=xlAnd (nun filtert er auch das Datum) Jetzt suche ich nur noch die Lösung, dass er mit die private function, die ich eingebaut habe, aktualisiert Da kämpfe ich grade dran  Irgendetwas habe ich übersehen, weiss aber noch nicht genau was. Zur Not poste ich die Datei noch mal
|