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.

Suchen, Auswählen, Merken, Drucken
#41
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)
Antworten Top
#42
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)
Antworten Top
#43
Hat er gemacht :)

passieren tut da nichts ?! :( :)
Antworten Top
#44
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)
Antworten Top
#45
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
Antworten Top
#46
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)
Antworten Top
#47
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)
Antworten Top
#48
Wie lange bist du noch online? Ich bin in ca 60 min wieder am start :) fahre kurz heim

Danke und Gruß

Alex
Antworten Top
#49
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)
Antworten Top
#50
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)
Antworten Top


Gehe zu:


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