Live-Forum - Die aktuellen Beiträge
Anzeige
Archiv - Navigation
1724to1728
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

Kopie einer Tabelle in neues File exportieren

Kopie einer Tabelle in neues File exportieren
29.11.2019 09:00:00
Richi

Guten Morgen
Ich habe eine, für mich Knacknuss zu lösen und komme nicht weiter.
Folgende Ausgangslage:
Ich möchte eine Tabelle aus meinem Planungstool (19MB gross) in ein neues File exportieren. Sourcefile hat Blattschutz.
Dabei sollen keine Formeln sondern nur die Werte eingefügt werden.
Alle Formate, inklusiv der Farben die aus der bedingten Formatierung stammen. Die bedingten Formate haben Formeln integriert welche nicht übernommen werden können.
Vereinzelte Zellen haben Informationen hinterlegt, die sollten ebenfalls aufrufbar sein.
Der Filename beim exportieren soll automatisch generiert werden. Filename = abcd_(Exportdatum Kalenderjahr_Kalenderwoche) --- abcd_2019_48.xlsx
Es glit noch anzumerken, wenn ich die Tabelle mit dem bestehenden Kopierfunktion (Kopie Tabelle in neue Arbeitsmappe) lade, kann ich das neue File nicht Speichern.
Ich würde mich sehr freuen, wenn mich bei diesem unterfangen jemand unterstützen könnte. Beispieldatei hochgeladen.
https://www.herber.de/bbs/user/133489.xlsx
Liebe Gruess
Richi

3
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: Kopie einer Tabelle in neues File exportieren
29.11.2019 15:19:14
fcs
Hallo Richi,
das Kopieren des Tabellenblatts solte mit folgendem Makro funktionieren. Passwörter muss du ggf im Code ergänzen.
Das Blatt wird zunächst innerhalb der Arbeitsmappe kopiert. Dann werden die Formeln durch Werte ersetzt.
Anschliessend wird das kopierte Blatt in eine neue Mappe verschoben.
Das Blatt wird umbenannt und die Datei wird gespeichert im gleichen Ordner wie die Quelldatei.
Die Laufzeit des Kopiermakros ist relativ lang - vermutlich wegen der Vielahl an Kommentaren oder Excels-Verzuch die externen Verknüpfungen in den bedingten Formatierungen aufzubauen..
Die bedingten Formatierungen gehen wahrscheinlich verloren. Das lässt sich auch nur schwierig bereinigen denn die Zellfarbe, die von der bedingten Formatierung komt kann nicht direkt abgefragt werden.
Es glit noch anzumerken, wenn ich die Tabelle mit dem bestehenden Kopierfunktion (Kopie Tabelle in neue Arbeitsmappe) lade, kann ich das neue File nicht Speichern.

Damit kann ich nichts anfangen. Das liegt möglichweise an irgendwechen Schutzeinstellungen.
LG
Franz

Sub Tabelenblatt_kopieren()
Dim wkb_Q As Workbook, wkb_Z As Workbook
Dim wks_Q As Worksheet, wks_Z As Worksheet
Dim strFilename As String
Dim StatusCalc As Long
Dim bolwbProtedStructur As Boolean
Dim bolwbProtedWindows As Boolean
Set wkb_Q = ActiveWorkbook
Set wks_Q = wkb_Q.Worksheets("Tabelle1") 'Name anpassen !
With Application
.ScreenUpdating = False
StatusCalc = .Calculation
.Calculation = xlCalculationManual
.EnableEvents = False
.Calculate
End With
bolwbProtedStructur = wkb_Q.ProtectStructure
bolwbProtedWindows = wkb_Q.ProtectWindows
If (bolwbProtedStructur = True Or bolwbProtedWindows = True) Then _
wkb_Q.Protect Password:="", Structure:=False, Windows:=False
wks_Q.Copy after:=wkb_Q.Worksheets(wkb_Q.Sheets.Count)
Set wks_Z = wkb_Q.Worksheets(wkb_Q.Sheets.Count)
With wks_Z
.Unprotect Password:="" 'ggf. Passwort anpassen
With .UsedRange
.Copy
.PasteSpecial Paste:=xlPasteValues
End With
.Protect Password:="" 'ggf. Passwort anpassen
.Range("A1").Select
End With
wks_Z.Move
Set wkb_Z = ActiveWorkbook
wkb_Z.Worksheets(1).Name = wks_Q.Name
'Deutsche/ISO Kalenderwoche
strFilename = wkb_Q.Path & "\" & "abcd_" & Format(Date, "YYYY") & "_" & _
Format(Application.WorksheetFunction.IsoWeekNum(Date), "00")
'US-Kalenderwoche-1- Jan ist immer in KW 1
'    strFilename = wkb_Q.Path & "\" & "abcd_" & Format(Date, "YYYY") & "_" & _
Format(Application.WorksheetFunction.WeekNum(Date), "00")
wkb_Z.SaveAs Filename:=strFilename, FileFormat:=51 'xlsx
wkb_Z.Close savechanges:=False
If (bolwbProtedStructur = True Or bolwbProtedWindows = True) Then _
wkb_Q.Protect Password:="", Structure:=bolwbProtedStructur, Windows:= _
bolwbProtedWindows
With Application
.ScreenUpdating = True
.Calculation = StatusCalc
.EnableEvents = True
End With
End Sub

Anzeige
AW: Kopie einer Tabelle in neues File exportieren
30.11.2019 12:08:01
Richi
Ciao Franz
Nach anfänglichen Problemen mit dem Eingeben der Parameter im Programm, funktioniert das ganz prächtig. Herzlichen Dank.
Hab dennoch zwei Fragen:
1. Beim Kopieren der Tabelle werden auch Arbeitsmappen Verknüpfungen übernommen. Gibt es hierfür eine Lösung, dass diese Verknüpfung zum Schluss gelöscht oder zu Beginn gar nicht kopiert wird?
2. Gibt es eine Möglichkeit via VBA Bedingte Formatierung zu definieren?
Liebe Gruess
Richi
AW: Kopie einer Tabelle in neues File exportieren
05.12.2019 08:00:47
fcs
Hallo Richi,
Frage1: Verknüpfungen
Die Verknüpfungen verschwinden wahrscheinlich, wenn in dem kopierten Blatt alle bedingten Formatierungen, die diese Verküpfung verwenden gelöscht werden.
Frage 2: bedingte Formatierungen per VBA
Ja kann man auch per VBA erstellen.
Als erster Ansatz mit dem Makro-Rekorder in der Datei mit dem kopierten Blatt
a) alle vorhandenen bedingten Formatierungen löschen und dann die gewünschten bedingten Formatierungen neu anlegen
oder
b) die vorhanden bedingten Formatierungen mit den Formeln und der Verknüpfung anpassen
Damit hast du ein Makro-Grundgerüst.
Wenn die Zeilenzahl in den kopierten Blättern unterschiedlich sein kann, dann muss der Code noch entsprechend angepasst werden.
Dieser Code muss dann in den vorhandenen integriert werden am besten als separates Makro, das vor dem speichern gestartet wird.
Bei der Anpassung des aufgezeichneten Makros kann ich wieder behilflich sein.
LG
Franz

Anzeige

300 Forumthreads zu ähnlichen Themen

Anzeige
Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige