Live-Forum - Die aktuellen Beiträge
Anzeige
Archiv - Navigation
1696to1700
Aktuelles Verzeichnis
Verzeichnis Index
Übersicht Verzeichnisse
Vorheriger Thread
Rückwärts Blättern
Nächster Thread
Vorwärts blättern
Anzeige
HERBERS
Excel-Forum (Archiv)
20+ Jahre Excel-Kompetenz: Von Anwendern, für Anwender
Inhaltsverzeichnis

Arbeitsmappe/Tabellenblatt automatisch duplizieren

Arbeitsmappe/Tabellenblatt automatisch duplizieren
25.06.2019 13:27:45
Jo
Hallo zusammen,
ich habe eine Arbeitsmappe mit einem Tabellenblatt, dass Tabellenblatt wird immer fortgeschrieben und ist ein nomales DIN A4 Dokument. Da ich es aber im DIN A3+ Format auch brauche und das ewige kopieren ziemlich lästig ist, ist nun meine Frage....
Gibt es eine Möglichkeit, dass die original Datei automatisch kopiert/dupliziert wird und Im DIN A3+ Tabellenblatt mitgeschrieben wird?
Da die Datei schon seit 2016 besteht, wäre es toll wenn am Anfang gleich alles mit übernommen würde.
Tabellenformat ist xlsm
AW: Arbeitsmappe/Tabellenblatt automatisch duplizieren
25.06.2019 13:56:40
Marco
Hallo Jo,
das kannst Du ganz einfach über den Makro-Recorder lösen und anschliessend das Makro in Deine Hauptdatei einbauen. Anschliessend kannst Du es so einbauen, dass es zum Beispiel ausgeführt wird sobald die Hauptdatei geschlossen wird.
Am besten Du schaust Dir als erstes einmal den Makro-Recorder an. Der kann schon eine ganze Menge ohne viel Programmierung.
Ein Makro könnte am Ende z.B. so in der Art aussehen - natürlich passen da noch Deine Druckeinstellungen usw. noch nicht wie Du es brauchst.
Sub Kopie()
Cells.Select
Selection.Copy
Workbooks.Add
ActiveSheet.Paste
Application.CutCopyMode = False
Application.PrintCommunication = False
With ActiveSheet.PageSetup
.PrintTitleRows = ""
.PrintTitleColumns = ""
End With
Application.PrintCommunication = True
ActiveSheet.PageSetup.PrintArea = ""
Application.PrintCommunication = False
With ActiveSheet.PageSetup
.LeftHeader = ""
.CenterHeader = ""
.RightHeader = ""
.LeftFooter = ""
.CenterFooter = ""
.RightFooter = ""
.LeftMargin = Application.InchesToPoints(0.7)
.RightMargin = Application.InchesToPoints(0.7)
.TopMargin = Application.InchesToPoints(0.787401575)
.BottomMargin = Application.InchesToPoints(0.787401575)
.HeaderMargin = Application.InchesToPoints(0.3)
.FooterMargin = Application.InchesToPoints(0.3)
.PrintHeadings = False
.PrintGridlines = False
.PrintComments = xlPrintNoComments
.PrintQuality = 600
.CenterHorizontally = False
.CenterVertically = False
.Orientation = xlPortrait
.Draft = False
.PaperSize = xlPaperA3
.FirstPageNumber = xlAutomatic
.Order = xlDownThenOver
.BlackAndWhite = False
.Zoom = 100
.PrintErrors = xlPrintErrorsDisplayed
.OddAndEvenPagesHeaderFooter = False
.DifferentFirstPageHeaderFooter = False
.ScaleWithDocHeaderFooter = True
.AlignMarginsHeaderFooter = True
.EvenPage.LeftHeader.Text = ""
.EvenPage.CenterHeader.Text = ""
.EvenPage.RightHeader.Text = ""
.EvenPage.LeftFooter.Text = ""
.EvenPage.CenterFooter.Text = ""
.EvenPage.RightFooter.Text = ""
.FirstPage.LeftHeader.Text = ""
.FirstPage.CenterHeader.Text = ""
.FirstPage.RightHeader.Text = ""
.FirstPage.LeftFooter.Text = ""
.FirstPage.CenterFooter.Text = ""
.FirstPage.RightFooter.Text = ""
End With
Application.PrintCommunication = True
ActiveWorkbook.SaveAs Filename:="C:\My Documents\KopieA3.xlsx", FileFormat:= _
xlOpenXMLWorkbook, CreateBackup:=False
ActiveWorkbook.Close
End Sub
VG
Marco
Anzeige
AW: Arbeitsmappe/Tabellenblatt automatisch duplizieren
25.06.2019 13:59:26
fcs
Hallo Jo,
eine Variante:
vor dem Schliessen der A4-Datei wird eine Kopie der kopletten Datei unter dem Namen der A3-Datei gespeichert.
Danach wird in der A3-Datei das Seiten-Layout auf A3 umgestellt.
Das entsprechende Makro wird unter "DieseArbeitsmappe" der A4-Datei angelegt.
LG
Franz
'Code unter DieseArbeitsmappe der A4-Datei
Private Sub Workbook_BeforeClose(Cancel As Boolean)
Dim strName As String
Dim wkbCopy As Workbook, wks1 As Worksheet
strName = Replace(Me.FullName, ".xls", "A3.xls") 'Name der A3-Datei - ggf. anpassen
If Not InStr(Me.Name, "A3.xls") > 0 Then 'Prüfung ggf. anpassen
Application.EnableEvents = False
Me.SaveCopyAs strName
Set wkbCopy = Application.Workbooks.Open(Filename:=strName)
Set wks1 = wkbCopy.Worksheets(1)
With wks1
With .PageSetup
.PaperSize = xlPaperA3
.Orientation = xlLandscape 'Querformat
End With
End With
wkbCopy.Close savechanges:=True
Application.EnableEvents = True
End If
End Sub


Anzeige
AW: Arbeitsmappe/Tabellenblatt automatisch duplizieren
25.06.2019 15:30:00
Jo
Danke euch beiden,
aber das ist immer noch zu hoch für mich!
Und das Papierformat ist A3+ (330mm x 483mm)
Hier eine Beispieldatei
https://www.herber.de/bbs/user/130574.xlsm
Gruß Jo
AW: Arbeitsmappe/Tabellenblatt automatisch duplizieren
26.06.2019 14:31:24
fcs
Hallo Jo,
deine Beispieldatei kann ich leider ncht öffnen - scheint irgendwie korupt zu sein.
Mit dem "exotischen" A3+-Format unter VBA zu arbeiten wird etwas problematisch.
Deshalb jetzt meine Variante.
Mit dem Ereignismakro in der A4-Datei wird vor dem Schliessen (alternativ ginge auch vor dem Speichern)
die Datei im A3+-Format geöffnet. Alles im Blatt 1 wird gelöscht, dannach werden die Zellen aus der A4-Datei in die A3+-Datei kopiert.
LG
Franz
P.S.: Den Namen und Pfad der A3+Datei im Makro mzusst du anpassen!.
'Code unter DieseArbeitsmappe der A4-Datei
Private Sub Workbook_BeforeClose(Cancel As Boolean)
Dim strName As String
Dim wkbCopy As Workbook, wks1 As Worksheet
strName = Replace(Me.FullName, ".xls", "A3.xls") 'Name der A3-Datei - ggf. anpassen
If Not InStr(Me.Name, "A3.xls") > 0 Then 'Prüfung ggf. anpassen
Application.EnableEvents = False
Me.SaveCopyAs strName
Set wkbCopy = Application.Workbooks.Open(Filename:=strName)
Set wks1 = wkbCopy.Worksheets(1)
With wks1
With .PageSetup
.PaperSize = xlPaperA3
.Orientation = xlLandscape 'Querformat
End With
End With
wkbCopy.Close savechanges:=True
Application.EnableEvents = True
End If
End Sub

Anzeige
AW: Arbeitsmappe/Tabellenblatt automatisch duplizieren
26.06.2019 21:01:52
Jo
Hallo Franz,
Leider funktioniert da was nicht, den wenn ich die 1. Datei beende kommt auf der A3 eine Fehlermeldung (Laufzeitfehler 1004) Die PaperSize Eigenschaft des PageSetup-Objektes kann nicht festgelegt werden und die Zeile .PaperSize = xlPaperA3 ist im Debuggen gelb markiert.
Und es sind Menüleiste usw. verschwunden.
Gruß Jo
AW: Arbeitsmappe/Tabellenblatt automatisch duplizieren
27.06.2019 09:48:56
fcs
Hallo Jo,
leider hatte ich in meiner letzten Antwort versehentlich wieder das alte Makro kopiert.
Wegen der Problematic beim setzen der Papiergröße -Möglichkeiten sind Druckerabhängig- sollen jetzt "einfach" alle Inhalte von A4 nach A3 kopiert werden.
LG
Franz
neues Makro. In der Zeile in der der Name der A3-Datei einer Variablen zugewiesen wird musst du ggf . eine Anpassung machen.
'Code unter DieseArbeitsmappe der A4-Datei
Private Sub Workbook_BeforeClose(Cancel As Boolean)
Dim strName As String
Dim wkbCopy As Workbook, wks1 As Worksheet, rngCopy As Range
'Name der Datei mit Blatt im A3+-Format
strName = Replace(Me.FullName, ".xls", "A3.xls") 'Pfad\Name der A3-Datei - ggf. anpassen
'Prüfung, damit Kopiervorgang nur ausgeführt wir, wenn die A4-Datei geschlossen wird
If Not LCase(Me.Name) = LCase(Mid(strName, InStrRev(strName, "\"))) Then 'Prüfung ggf.  _
anpassen
Application.EnableEvents = False
'zu kopierenden Zellbereich mit verwendeten Zellen im A4-Datei setzen
Set rngCopy = Me.Worksheets(1).UsedRange
'Datei im A3+-Format öffnen
Set wkbCopy = Application.Workbooks.Open(Filename:=strName, addtomru:=True)
With wkbCopy.Worksheets(1)
'vorhandene Inhalte in A3+-Datei löschen
.UsedRange.Clear
'Daten aus A4-Dastei nach A3+-Datei kopierenn
rngCopy.Copy Destination:=.Range(rngCopy.Range("A1").Address)
End With
Application.CutCopyMode = False
wkbCopy.Close savechanges:=True
Application.EnableEvents = True
End If
End Sub

Anzeige
AW: Arbeitsmappe/Tabellenblatt automatisch duplizieren
27.06.2019 11:08:14
Jo
Hallo Franz,
wahrscheinlich bin ich zu blöd um das hinzubekommen. Es funktioniert einfach nicht also muss ich es weiterhin mit kopieren machen auch wenn es nervt.
Vielen, vielen Dank für deine Mühe.
Viele Grüße Jo
AW: Arbeitsmappe/Tabellenblatt automatisch duplizieren
27.06.2019 11:39:48
Jo
Hallo Franz,
ich schicke dir nochmal die Datei habe sie mit Win Defender auf Viren geprüft aber keine wurden gefunden.
https://www.herber.de/bbs/user/130609.xlsm
Gruß Jo
AW: Arbeitsmappe/Tabellenblatt automatisch duplizieren
27.06.2019 13:34:20
fcs
Hallo Jo,
Beachte, dass dieses Makro im VBA-Editer unter dem Modul "DieseArbeitsmappe" der Datei eingefügt werden muss, damit es beim Schliessen der Datei automatisch ausgeführt wird.
Der Wert für Papersize im Makro ist 140 auf meinem System für FSLE in der Seiten-Layout-Einstellung.
Benutze den Makro-Rekorder um den Wert auf deinem System zu bestätigen/ermitteln, indem du bei laufendem Makrorekorder das Seitenlayout änderst.
LG
Franz
'Code unter DieseArbeitsmappe der A4-Datei
Private Sub Workbook_BeforeClose(Cancel As Boolean)
Dim strName As String
Dim wkbCopy As Workbook, wks1 As Worksheet
strName = Replace(Me.FullName, ".xls", "Spielplan A3+.xls") 'Name der A3-Datei - ggf.  _
anpassen
If Not InStr(Me.Name, "Spielplan A3+.xls") > 0 Then 'Prüfung ggf. anpassen
Application.EnableEvents = False
Me.SaveCopyAs strName
Set wkbCopy = Application.Workbooks.Open(Filename:=strName)
Set wks1 = wkbCopy.Worksheets(1)
With wks1
With .PageSetup
.PaperSize = 140 'FSLE
.Orientation = xlLandscape 'Querformat
End With
End With
wkbCopy.Close savechanges:=True
Application.EnableEvents = True
End If
End Sub

Anzeige
AW: Arbeitsmappe/Tabellenblatt automatisch duplizieren
28.06.2019 04:00:23
Jo
Hallo Franz,
das mit dem VBA - Diese Arbeitsmappe habe ich schon verstanden.
Womit ich nichts anfangen kann, ist Papersize im Makro ist 140 auf meinem System für FSLE in der Seiten-Layout-Einstellung.
Was bedeutet die 140 und was ist FSLE und wann schalte ich den Makro-Rekorder ein?
Kannst du mir das bitte verständlich machen.
Ich hätte da noch eine Frage.
Besteht eine Möglichkeit, in folgendem Tabellenblatt (von dem es mehrere für die Jahre 2016 usw. gibt)
https://www.herber.de/bbs/user/130624.xlsx
Ich möchte gerne, dass ich ab einen gewissen Datum die Spalten z.B. M-Q auslesen kann wie oft zum Beispiel "Gels G." eben ab dem gewissen Datum vorkommt. Habe es mit Zählenwenn oder auch Zählenwenns versucht kam aber nicht mehr weiter.
Gruß Jo
Anzeige
AW: Arbeitsmappe/Tabellenblatt automatisch duplizieren
28.06.2019 14:29:32
fcs
Hallo Jo,
"FSLE" ist die Papiergröße, die bei mir im Seitenlayout angezeigt wird, wenn ich deine Datei öffne.
140 ist der Wert für Papersize, den der Makrorekorder aufzeichnet, wenn "FSLE" als Papiergröße im Seitenlayout eingestellt ist.
Um die bei dir geltenden Einstellungen heraus zu finden, öffne die Datei mit A3+-Format und starte den Makro-Rekorder.
Wechsle ins Menü Seiten-Layout und ändere eine Einstellung. Beenden den Dialog und stoppe den Makro-Rekorder.
Im aufgezeichneten Makro findest du die Werte für Papersize und Orientation, die du in meinem Makro eintragen muss.
Das aufgezeichnete Makro inkl. Modul dann wieder löschen.
Bezüglich Auswertung in der hochgeladenen Datei:
Mit Funktion SUMMENPRODUKT sollte es funktionieren.
		        Blattname Turnier 2016 Turnier 2017 Turnier 2018 Turnier 2019
Name	Datum >=	Gesamt	  Anzahl       Anzahl       Anzahl       Anzahl
Gels G.	01.07.2018	3	  0            0            3            0
Formeln:
C3: =SUMME(D3:G3)
D3: =WENNFEHLER(SUMMENPRODUKT((INDIREKT("'" & D$1 &"'!B6:$B$500")>=$B3)*((INDIREKT("'" & D$1
&"'!$M$6:$M$500")=$A3)+(INDIREKT("'" & D$1 &"'!$N$6:$N$500")=$A3)+(INDIREKT("'" & D$1
&"'!$O$6:$O$500")=$A3)+(INDIREKT("'" & D$1 &"'!$P$6:$P$500")=$A3)+(INDIREKT("'" & D$1
&"'!$Q$6:$Q$500")=$A3)));0)

Formel in D3 kann nach rechts kopiert werden.
LG
Franz
Anzeige
AW: Arbeitsmappe/Tabellenblatt automatisch duplizieren
28.06.2019 14:57:49
Jo
Danke Franz,
ich versuche es, und probiere alles mal aus.
Nochmals vielen, vielen Dank
Gurß Jo
AW: Arbeitsmappe/Tabellenblatt automatisch duplizieren
28.06.2019 18:50:37
Jo
Hallo Franz,
entweder bin ich wirklich zu blöd, aber ich habe die Formel genauso abeschrieben wie sie das steht. Aber es funktioniert nicht, das einzige was ich verändert habe ist, dass ich die Formel in eine neue Arbeitsmappe geschrieben habe und dann bei B6:B500 und den anderen eine Verknüpfung hergestellt habe.
Aber das kann doch nicht sein, dass die Formel dann nicht funktioniert. Habe es auch mit STRG - Shift - Return probiert aber....
Auch beim Turnierplann hatte ich keien Erfolg, ich habe die Datei geöffnet und dann A3+ umgestellt, Markorrec startet Seitenlayout geöffnet auf A3+ eingestellt Makrorec beendet, Markro aufgerufen und siehe da bei Papersize stand genauso 140 drin wie bei dir auch.
Keine Ahnung nur noch Frust.
Danke
LG Jo
Anzeige
AW: Arbeitsmappe/Tabellenblatt automatisch duplizieren
29.06.2019 12:09:36
fcs
Hallo Jo,
die Funktion INDIREKT funktioniert nur innerhalb der gleichen Arbeitsmappe.
Wenn du die Auswertung in einer anderen Datei machen willst, dann musst du mit "normalen" Zellbezügen in der Formel arbeiten.
Dann musst du halt für jedes Blatt in der Quelle die Formeln jeweils anpassen.
Eine Eingabe als Matrixformel ist hier nicht nötigt. Die Matrixauswertungen macht die Funktion SUMMENPRODUKT intern von selbst.
Makro mit dem anderen Seitenformat.
Keine Ahnung warum das immer noch nicht geht. Wenn für A4-Druck und A3+-Druck unterschiedliche Drucker verwendet werden, dann muss evtl. auch noch der Drucker gewechslet werden, bevor man das Seitenformat wechselt.
LG
Franz
Anzeige
AW: Arbeitsmappe/Tabellenblatt automatisch duplizieren
29.06.2019 22:26:59
Jo
Hallo Franz,
es ist der gleiche Drucker.
Gruß Jo

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige