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

Seitenformate auf neuem Arbeitsblatt übernehmen

Seitenformate auf neuem Arbeitsblatt übernehmen
Roberto
Hallo zusammen,
das nachfolgende Makro sortiert in der Mastertabelle die Daten mit Autofilter und ertsellt für jedes Kriterium in Spalte A ein neues Arbeitsblatt.
Nun soll aber jedes Abeitsblatt das gleiche Format(alle Einstellungen) wie die Mastertabelle haben. Ich meine alles was unter Seite einrichten ist(z.B Querformat, Wiederholungszeilen) soll auch in den neu erstellten Arbeitsblättern von der Mastertabelle übernommen werden
wie kann ich das in das Makro einbauen?
Vielen Dankfür Eure Hilfe :-)
Roberto
https://www.herber.de/bbs/user/5296.xls

Sub autofilter_splitt()
Dim rng As Range, rngCur As Range
Dim lngRow As Long, aktcell As String
Dim head As String, newrng As Range, newsheet As String
Application.ScreenUpdating = False
aktcell = ActiveCell.Address
head = ActiveCell.Offset(-1).Address
Set rngCur = Range(head).CurrentRegion
rngCur.Sort _
key1:=Range(aktcell), _
order1:=xlAscending, _
header:=xlYes
lngRow = 2
Do Until IsEmpty(rngCur.Cells(lngRow, 1))
If rngCur.Cells(lngRow, 1) <> rngCur.Cells(lngRow - 1, 1) Then
rngCur.AutoFilter _
field:=1, _
Criteria1:=rngCur.Cells(lngRow, 1)
Worksheets.Add.Move after:=Worksheets(Worksheets.Count)
ActiveSheet.Name = rngCur.Cells(lngRow, 1)
newsheet = ActiveSheet.Name
Worksheets(1).Select
Range("a1").Select
Selection.SpecialCells(xlCellTypeVisible).Select
Selection.Copy
Sheets(newsheet).Select
ActiveSheet.Paste
Range("a1").Select
End If
lngRow = lngRow + 1
Loop
Worksheets(1).Select
ActiveSheet.AutoFilterMode = False
Application.ScreenUpdating = True
Application.CutCopyMode = False
Range("a1").Select
End Sub

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

Betreff
Benutzer
Anzeige
AW: Seitenformate auf neuem Arbeitsblatt übernehmen
Matthias
Hallo Roberto,
statt ein neues Arbeitsblatt hinzuzufügen:
Worksheets.Add.Move after:=Worksheets(Worksheets.Count)
kopiere das erste Blatt (Mastertabelle) und lösche den Inhalt:
Sheets(1).Copy after:=Worksheets(Worksheets.Count)
ActiveSheet.Cells.ClearContents

evtl. noch irgenwelche Zellformatierungen löschen, so wird jedenfalls das Seitenformat der Mastertabelle übernommen.
Gruß,
Matthias
AW: Seitenformate auf neuem Arbeitsblatt übernehmen
Roberto
Hallo Matthias,
leider bleibt das Skript hängen.. (Bereich kopieren und einfügen stimmen nicht überein)und das neue Tabellenblatt sieht nicht so gut aus :-(
Dann habe ich noch ein neues Problem entdeckt. Wenn die Daten mehr wie 90 Kriterien enthalten und bei einer Zeilenanzahl von 1300 bleibt das Makro ebenfalls stehen mit der Fehlermeldung das Excel keine Kapazität mehr hat um weiter zu berechnen. Ich solle weniger Datensätze nehmen.
Hast Du da eine Idee?
Gruß
Roberto

Sub Test_EgaleSpeichern()
Dim rng As Range, rngCur As Range
Dim lngRow As Long, aktcell As String
Dim head As String, newrng As Range, newsheet As String
Application.ScreenUpdating = False
aktcell = ActiveCell.Address
head = ActiveCell.Offset(-1).Address
Set rngCur = Range(head).CurrentRegion
rngCur.Sort _
key1:=Range(aktcell), _
order1:=xlAscending, _
header:=xlYes
lngRow = 2
Do Until IsEmpty(rngCur.Cells(lngRow, 1))
Application.CutCopyMode = False
Application.CommandBars("Task Pane").Visible = False
If rngCur.Cells(lngRow, 1) <> rngCur.Cells(lngRow - 1, 1) Then
rngCur.AutoFilter _
field:=1, _
Criteria1:=rngCur.Cells(lngRow, 1)
Sheets(1).Copy after:=Worksheets(Worksheets.Count)
ActiveSheet.Cells.ClearContents
ActiveSheet.name = rngCur.Cells(lngRow, 1)
newsheet = ActiveSheet.name
Worksheets(1).Select
Range("a1").Select
Selection.SpecialCells(xlCellTypeVisible).Select
Selection.Copy
Sheets(newsheet).Select
ActiveSheet.Paste
Range("a1").Select
End If
lngRow = lngRow + 1
Loop
Worksheets(1).Select
ActiveSheet.AutoFilterMode = False
Application.ScreenUpdating = True
Application.CutCopyMode = False
Range("a1").Select
End Sub

Anzeige
AW: Seitenformate auf neuem Arbeitsblatt übernehmen
17.04.2004 00:32:08
Matthias
Hallo Robert,
versuche doch mal, die automatische Berechnung temporär abzuschalten:
Application.Calculation = xlCalculationManual
Sheets(1).Copy after:=Worksheets(Worksheets.Count)
ActiveSheet.Cells.ClearContents
Application.Calculation = xlCalculationAutomatic
Gruß Matthias

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige