Registriert seit: 10.04.2014
Version(en): 97-2019 (32) + 365 (64)
Hallo Alex, ersetze im Makro Sub DateiSpeichernUnter() diesen code Code: Application.CommandBars.ExecuteMso "FileSaveAs"
durch diesen Code: ActiveSheet.ExportAsFixedFormat Type:=xlTypePDF
Das wäre erst mal die "einfache" Variante wo die Dateien überschrieben werden.
. \\\|/// Hoffe, geholfen zu haben. ( ô ô ) Grüße, André aus G in T ooO-(_)-Ooo (Excel 97-2019+365)
Registriert seit: 10.04.2014
Version(en): 97-2019 (32) + 365 (64)
Hallo Alex, das mit den ausgeblendeten Spalten wird auch eine Ursache für die Bezugsfehler sein. Beim Kopieren und Einfügen werden die Daten nämlich statt ab Spalte C schon ab Spalte A eingetragen. Daher folgende Änderungen im Sub Kopieren(): Original: Code: 'Wenn die Summe von Spalte G > 0 ist, dann If WorksheetFunction.Sum(.Range("G:G")) > 0 Then 'Autofilter in Spalte G setzen .Columns("G:G").AutoFilter 'Spalte G filtern nach Werten > 0, Filter bis zur letzten gefuellten Zeile in Spalte G 'Es darf in Spalte G also nix unter den Daten stehen. .Range("$G$1:$G$" & .Cells(Rows.Count, 7).End(xlUp).Row).AutoFilter Field:=1, Criteria1:=">0" 'Bereich kopieren und in Tabelle2 einfuegen .Rows("2:" & .Cells(Rows.Count, 7).End(xlUp).Row).Copy tmpWsh.Range("A" & tmpWsh.Cells(Rows.Count, 7).End(xlUp).Row + 1) 'Autofilter in Spalte G zuruecksetzen .Columns("G:G").AutoFilter 'Ende Wenn die Summe von Spalte G > 0 ist, dann End If
Neu: Code: 'Wenn die Summe von Spalte G > 0 ist, dann If WorksheetFunction.Sum(.Range("G:G")) > 0 Then 'Spalte A und B einblenden Columns("A:C").EntireColumn.Hidden = False 'Autofilter in Spalte G setzen .Columns("G:G").AutoFilter 'Spalte G filtern nach Werten > 0, Filter bis zur letzten gefuellten Zeile in Spalte G 'Es darf in Spalte G also nix unter den Daten stehen. .Range("$G$1:$G$" & .Cells(Rows.Count, 7).End(xlUp).Row).AutoFilter Field:=1, Criteria1:=">0" 'Bereich kopieren und in Tabelle2 einfuegen .Rows("2:" & .Cells(Rows.Count, 7).End(xlUp).Row).Copy tmpWsh.Range("A" & tmpWsh.Cells(Rows.Count, 7).End(xlUp).Row + 1) 'Autofilter in Spalte G zuruecksetzen .Columns("G:G").AutoFilter 'Spalte A und B ausblenden Columns("A:B").EntireColumn.Hidden = True 'Ende Wenn die Summe von Spalte G > 0 ist, dann End If
Du siehst die Unterschiede? Es gibt 2 x 2 Zeilen mehr zum Ein- und Ausblenden.
. \\\|/// Hoffe, geholfen zu haben. ( ô ô ) Grüße, André aus G in T ooO-(_)-Ooo (Excel 97-2019+365)
Registriert seit: 07.07.2014
Version(en): 2007/2010
Hat er gemacht :)
passieren tut da nichts ?! :( :)
Registriert seit: 10.04.2014
Version(en): 97-2019 (32) + 365 (64)
Hallo ALex,
Excel gibt einfach nur das aktive Blatt als pdf aus. Du musst Dich also zum einen auf dem richtigen Blatt befinden und zum anderen im Explorer nachschauen, im gleichen Verzeichnis wie die Exceldatei.
. \\\|/// Hoffe, geholfen zu haben. ( ô ô ) Grüße, André aus G in T ooO-(_)-Ooo (Excel 97-2019+365)
Registriert seit: 07.07.2014
Version(en): 2007/2010
Hi Schauan,
also jetzt läuft hier nichts mehr rund...zumindest gefühlt....beim "kopieren ausführen" kopiert er jetzt wieder die ausgeblendeten Setup daten wieder und er zeigt mir die Zelle C gar nicht mehr an :(
Danke, Alex
Registriert seit: 10.04.2014
Version(en): 97-2019 (32) + 365 (64)
Hallo ALex,
sorry, ich hab die "alte" erste Zeile beim If kopiert. Ich stell die Datei gleich nochmal ein, muss meinen Laptop erst mal an den Strom bringen ...
. \\\|/// Hoffe, geholfen zu haben. ( ô ô ) Grüße, André aus G in T ooO-(_)-Ooo (Excel 97-2019+365)
Registriert seit: 10.04.2014
Version(en): 97-2019 (32) + 365 (64)
25.07.2014, 17:30
(Dieser Beitrag wurde zuletzt bearbeitet: 26.07.2014, 05:49 von schauan.)
Hallo ALex,
hier ist jetzt nochmal zusammengefasst der aktuelle Stand. Ich habe noch zwei andere Änderungen drin: - andere Symbole und Beschriftung als PDF ... - Spalten A und B werden auch auf dem temporären Blatt ausgeblendet. Da bei jeder Kopieraktion ein neues temporäres Blatt erzeugt wird, ist hier kein Einblenden drin.
Ich habe die Datei hier entfernt und mit weiteren Korrekturen im Beitrag von Samstag, ca. 05:48, angehängt.
. \\\|/// Hoffe, geholfen zu haben. ( ô ô ) Grüße, André aus G in T ooO-(_)-Ooo (Excel 97-2019+365)
Registriert seit: 07.07.2014
Version(en): 2007/2010
Wie lange bist du noch online? Ich bin in ca 60 min wieder am start :) fahre kurz heim
Danke und Gruß
Alex
Registriert seit: 10.04.2014
Version(en): 97-2019 (32) + 365 (64)
Hallo Alex,
ich muss jetzt langsam Feierabend machen. Morgen früh installiere ich hier das Update, mal seh'n wie ich dann Zeit habe.
. \\\|/// Hoffe, geholfen zu haben. ( ô ô ) Grüße, André aus G in T ooO-(_)-Ooo (Excel 97-2019+365)
Registriert seit: 10.04.2014
Version(en): 97-2019 (32) + 365 (64)
Hallo Alex, das mit dem Kopieren muss ich nochmal prüfen. Es werden nur Daten von einem Blatt genommen. Ursache sind wohl die fehlenden Punkte an zwei Stellen vor dem Ausdruck Columns("A:C") und Columns("A:B") - siehe hier in diesem Bereich, gekennzeichnet mit '<-- hier der Punkt: Code: If WorksheetFunction.Sum(.Range("G:G")) > 0 Then 'Spalte A und B einblenden .Columns("A:C").EntireColumn.Hidden = False '<-- hier der Punkt und statt .Columns("A:C") eigentlich auch .Columns("A:B") 'Autofilter in Spalte G setzen .Columns("G:G").AutoFilter 'Spalte G filtern nach Werten > 0, Filter bis zur letzten gefuellten Zeile in Spalte G 'Es darf in Spalte G also nix unter den Daten stehen. .Range("$G$1:$G$" & .Cells(Rows.Count, 7).End(xlUp).Row).AutoFilter Field:=1, Criteria1:=">0" 'Bereich kopieren und in Tabelle2 einfuegen .Rows("2:" & .Cells(Rows.Count, 7).End(xlUp).Row).Copy tmpWsh.Range("A" & tmpWsh.Cells(Rows.Count, 7).End(xlUp).Row + 1) 'Autofilter in Spalte G zuruecksetzen .Columns("G:G").AutoFilter 'Spalte A und B ausblenden .Columns("A:B").EntireColumn.Hidden = True '<-- hier der Punkt 'Ende Wenn die Summe von Spalte G > 0 ist, dann End If
Weiter unten im code steht das Columns("A:B") nochmal, dort ist es ohne Punkt korrekt.
. \\\|/// Hoffe, geholfen zu haben. ( ô ô ) Grüße, André aus G in T ooO-(_)-Ooo (Excel 97-2019+365)
|