Hallo Forum-User
Dank super Unterstützung gelang es mir, Werte von einem Exceldokument in ein andere kopieren zu lassen.
Nun möchte ich auch noch die Formatierungen von Masterdokument zum zweiten Dokument mit kopieren.
Das heisst, ich hab im ersten Dokument Spalten mit Datumswerten, Zweitwerten, Zahlenwerte, Textwerte etc.
Nun möchte ich, dass diese Formatierungen im Exceldokument, in welches die Werte kopierte werden ebenfalls übernommen werden.
Kann mir da jemand helfen?
Das kopieren von einem Dokument in das andere wurde so gelöst:
Sub NachDruckversion()
'aktive Mappe = Auffang.xlsm
Dim arrCH() As Variant 'Datenfeld1
Dim arrRT() As Variant 'Datenfeld2
Dim rngZiel As Range 'Zielzelle
Dim rngQuelle As Range 'zu verschiebende Daten
Dim lngLast As Long 'jew. letzte Zeile
'nur aktive Mappe = Auffang.xlsm
If Workbooks.Count > 1 Then Exit Sub
'Seiten gefüllt, sonst Abbruch
With Sheets("Zweiteseite")
If Application.WorksheetFunction.CountA(.Cells) = 0 Then Exit Sub
End With
With Sheets("Dritteseite")
If Application.WorksheetFunction.CountA(.Cells) = 0 Then Exit Sub
End With
On Error GoTo eHandler
Application.ScreenUpdating = False
Workbooks.Open Filename:=ThisWorkbook.Path & "\Druckversion.xlsm"
'Mappe = Druckversion.xlsm - leeren
With Workbooks(2)
With .Sheets("Zweite")
.Cells.Clear
End With
With .Sheets("Dritte")
.Cells.Clear
End With
End With
'Daten aufnehmen
With Workbooks(1)
'je Tabelle
With .Sheets("Zweiteseite")
'benutzer Bereich
lngLast = .Cells.Find("*", [A1], , , xlByRows, xlPrevious).Row
With .Columns("C:H")
Set rngQuelle = Range(.Rows(1), .Rows(lngLast))
'in Datenfeld
arrCH = rngQuelle.Value
End With
'ditto
With .Columns("P:T")
Set rngQuelle = Range(.Rows(1), .Rows(lngLast))
arrRT = rngQuelle.Value
End With
End With
'ins Ziel schreiben
Set rngZiel = Workbooks(2).Sheets("Zweite").Range("A1")
rngZiel.Resize(UBound(arrCH, 1), UBound(arrCH, 2)).Value = arrCH
'ditto
Set rngZiel = Workbooks(2).Sheets("Zweite").Range("G1")
rngZiel.Resize(UBound(arrRT, 1), UBound(arrRT, 2)).Value = arrRT
'wie vor, andere Tabelle
With .Sheets("Dritteseite")
lngLast = .Cells.Find("*", [A1], , , xlByRows, xlPrevious).Row
With .Columns("C:H")
Set rngQuelle = Range(.Rows(1), .Rows(lngLast))
arrCH = rngQuelle.Value
End With
With .Columns("P:T")
Set rngQuelle = Range(.Rows(1), .Rows(lngLast))
arrRT = rngQuelle.Value
End With
End With
Set rngZiel = Workbooks(2).Sheets("Dritte").Range("A1")
rngZiel.Resize(UBound(arrCH, 1), UBound(arrCH, 2)).Value = arrCH
Set rngZiel = Workbooks(2).Sheets("Dritte").Range("G1")
rngZiel.Resize(UBound(arrRT, 1), UBound(arrRT, 2)).Value = arrRT
End With
'speichern, schließen
Workbooks(2).Close True
eHandler:
Select Case Err.Number
Case 0 'erfolgreich
Case Else
MsgBox "Fehler bei der Ausführung"
End Select
Application.ScreenUpdating = True
End Sub
Besten Dank und Gruss
JoGiLU
|