Live-Forum - Die aktuellen Beiträge
Anzeige
Archiv - Navigation
744to748
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
744to748
744to748
Aktuelles Verzeichnis
Verzeichnis Index
Verzeichnis Index
Übersicht Verzeichnisse
Inhaltsverzeichnis

Druckformate übernehmen

Druckformate übernehmen
21.03.2006 10:53:31
petra
Hallo,
ich habe folgenden Problem:
Habe in einem Tabellenblatt eine Liste mit Werten. In Spalte A sind Zahlenwerte, die aufsteigend sortiert sind, aber auch mehrfach vorkommen.
Jetzt habe ich einen Makro, der mir Werte aus den Spalten A bis U für jeden gleichen Zahlenwert kopiert und in ein neues Tabellenblatt hineinkopiert.
Problem ist allerdings, dass das eingerichtete Druckformat nicht mit übernommen wird.
Jetzt würde ich gerne den Makro ergänzen, damit jedes neue Tabellenblatt das gleiche Druckformat hat wie die ursprungstabelle.
kann mir da jemand helfen?
hier der Makro:
Public

Sub Verteilen()
Application.ScreenUpdating = False
Dim nNumber As Integer, actSh As Worksheet
Dim bComplete As Boolean
bComplete = False
Dim i As Long, nStart, nEnd As Long
nNumber = 0
For i = 3 To 65536
If Sheets(2).Cells(i, 1).Value = "" Then
nEnd = i - 1
Exit For
End If
If nNumber <> Sheets(2).Cells(i, 1).Value Then
If Not bComplete Then
' neues sheet anlegen
nNumber = Sheets(2).Cells(i, 1).Value
nStart = i
Set actSh = Sheets.Add(after:=Worksheets(Worksheets.Count))
' sheet benennen
ActiveSheet.Name = Trim(Str(nNumber))
Sheets(2).Range("a1:u2").Copy
ActiveSheet.Range("a1").Select
' überschrift kopieren
ActiveSheet.Paste
bComplete = True
Else
nEnd = i - 1
' das ende eines blockes wurde erreicht
End If
End If
' das trifft nur dann zu, wenn
' obige if bcomplete schleife einmal komplett durch laufen wurd
If nEnd > nStart Then
' block kopieren
Sheets(2).Range("A" + Trim(Str(nStart)) + ":U" + Trim(Str(nEnd))).Copy
ActiveSheet.Range("a3").Select
ActiveSheet.Paste link:=True
Selection.PasteSpecial Paste:=xlFormats
nEnd = 0
nStart = 0
bComplete = False
i = i - 1       'wir sind quasi über das ziel hinausgeschossen
For Spalte = 1 To 23
ActiveSheet.Columns(Spalte).ColumnWidth = Sheets(2).Columns(Spalte).ColumnWidth
Next Spalte
End If
Next i
If nEnd > nStart Then
' block kopieren
Sheets(2).Range("A" + Trim(Str(nStart)) + ":U" + Trim(Str(nEnd))).Copy
ActiveSheet.Range("a3").Select
ActiveSheet.Paste link:=True
Selection.PasteSpecial Paste:=xlFormats
nEnd = 0
nStart = 0
bComplete = False
i = i - 1       'wir sind quasi über das ziel hinausgeschossen
For Spalte = 1 To 23
ActiveSheet.Columns(Spalte).ColumnWidth = Sheets(2).Columns(Spalte).ColumnWidth
Next Spalte
End If
Application.ScreenUpdating = True
Worksheets("Inhaltsverzeichnis").Activate
End Sub

1
Beitrag zum Forumthread
Beitrag zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: Druckformate übernehmen
21.03.2006 11:17:08
u_
Hallo,
das einfachste ist, wenn du dein Ursprungsblatt kopierst und dann alle Inhalte löschst.
If nNumber Sheets(2).Cells(i, 1).Value Then
If Not bComplete Then
' neues sheet anlegen
nNumber = Sheets(2).Cells(i, 1).Value
nStart = i
Set actSh = Sheets(2).Copy (after:=Worksheets(Worksheets.Count))
actsh.cells.clear
' sheet benennen
actsh.Name = Trim(Str(nNumber))
Sheets(2).Range("a1:u2").Copy actsh.Range("A1")
bComplete = True
Else
Gruß
Geist ist geil!

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige