Live-Forum - Die aktuellen Beiträge
Datum
Titel
28.03.2024 21:12:36
28.03.2024 18:31:49
Anzeige
Archiv - Navigation
732to736
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
732to736
732to736
Aktuelles Verzeichnis
Verzeichnis Index
Verzeichnis Index
Übersicht Verzeichnisse
Inhaltsverzeichnis

Formate mitnehmen z.B. Zeilenhöhe, Druckbereiche

Formate mitnehmen z.B. Zeilenhöhe, Druckbereiche
21.02.2006 19:24:52
petra
Hallo,
gibt es eine möglichkeit beim kopieren einer Tabelle, die per makro kopiert und in ein neues tabellenblatt in einer neuen Datei eingefügt wird,
die kompletten Formate übernehmen zu können. Also inkl. Spalten-/Zeilenhöhe, Druckbereich, Fußzeilen etc.?
und kann man ebenfalls eine Gruppierung gleich automatisch schließen.
vielen dank für eure hilfe
lg
petra

9
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: Formate mitnehmen z.B. Zeilenhöhe, Druckbereiche
21.02.2006 20:12:27
chris b
Hallo Petra,
wenn du dieses Makro zum kopieren nimmst übernimmt es die in deiner Zieltabelle hier Mappe2 die Formate mit.
Ich hoffe das war was du meintest.

Sub Makro1()
Cells.Copy
Windows("Mappe2").Activate
Cells.Select
ActiveSheet.Paste
End Sub

AW: Formate mitnehmen z.B. Zeilenhöhe, Druckbereic
21.02.2006 20:24:34
petra
hallo chris,
also hier ist der kopierteil meines makros
oldWB.Sheets(3).Range(oldWB.Sheets(3).Cells(1, 1), oldWB.Sheets(3).Cells(91, 15)).Copy
newWB.Sheets(newWB.Sheets.Count).Paste
dabei kopiert er Tabelle3 aus Datei oldWB in TabelleX in Datei newWB
er übernimmt schon die Farben der Zellen und Schriften beim kopieren, aber die Spalten-, Zeilenhöhe, Druckbereich etc. übernimmt er nicht.
so wie ich dein makro verstanden habe, ist er inhaltlich mit meinem vergleichbar, oder?
also das hilft dann nicht so richtig.
gibt es noch ne andere möglichkeit?
lg
petra
Anzeige
AW: Formate mitnehmen z.B. Zeilenhöhe, Druckbereic
21.02.2006 20:29:08
Josef Ehrensberger
Hallo Petra!
Kopier doch einfach das ganze Blatt!
oldWB.Sheets(3).Copy after:=newWB.Sheets(newWB.Sheets.Count)

'Gruppierung schliessen
newWB.Sheets(newWB.Sheets.Count).Outline.ShowLevels RowLevels:=1

'******************************
'* Gruß Sepp
'*
'* Rückmeldung wäre nett!
'******************************

Anzeige
AW: Formate mitnehmen z.B. Zeilenhöhe, Druckbereic
22.02.2006 14:30:29
petra
Hallo Joseph,
dein tipp hat mir weitergeholfen. allerdings hat er ein kleines problem. Und zwar funktioniert der makro solange bis i = 49 ist.
Danach kommt der debugger, der mir anzeigt, dass der Kopiervorgang nicht durchgeführt werden kann.
gibt es da eine begrenzung an durchläufen?
bzw. wie kann ich das problem lösen, dass mir der makro komplett durchläuft?
hier der makro:
Public

Sub Auswertung()
Dim oldWB As Workbook, newWB As Workbook
Dim bFound As Boolean
bFound = False
Application.ScreenUpdating = False
Set oldWB = ActiveWorkbook
For i = 1 To 65535
If oldWB.Sheets(1).Cells(i, 4).Value = "" Then Exit For
oldWB.Sheets(1).Cells(3, 1).Value = oldWB.Sheets(1).Cells(i, 4).Value
szName = oldWB.Sheets(1).Cells(i, 4).Value
If i = 1 Then
For x = 1 To Workbooks.Count
If Workbooks(x).Name = "191-060214-RB Personaleinsatz je Filiale.xls" Then
bFound = True
Exit For
End If
Next x
If Not bFound Then
MsgBox "Ergebnisdatei nicht öffen bzw. nicht gefunden! Bitte öffnen/erstellen!"
Exit Sub
Else
Set newWB = Workbooks(x)
End If
Else
'newWB.Sheets.Add after:=newWB.Sheets(newWB.Sheets.Count)
'newWB.Sheets(newWB.Sheets.Count).Name = szName
End If
' an der stelle kannst du den makro aufrufen
oldWB.Sheets(1).Cells(3, 1).Value = szName
Application.CalculateFull
' damit wird das change event des entsprechenden sheets ausgelöst
' und die daten werden aktualisiert
' der das ausgabesheet befüllt
oldWB.Sheets(3).Copy after:=newWB.Sheets(newWB.Sheets.Count)
newWB.Sheets(newWB.Sheets.Count).Name = szName
newWB.Sheets(newWB.Sheets.Count).Cells.Copy
newWB.Sheets(newWB.Sheets.Count).Cells.PasteSpecial Paste:=xlPasteFormats, Operation:=xlNone, _
SkipBlanks:=False, Transpose:=False
newWB.Sheets(newWB.Sheets.Count).Cells.PasteSpecial Paste:=xlPasteValues, Operation:=xlNone, SkipBlanks _
:=False, Transpose:=False
Next i
newWB.Save
newWB.Close
Application.ScreenUpdating = True
End Sub

wenn i = 49 ist
hält er hier an
oldWB.Sheets(3).Copy after:=newWB.Sheets(newWB.Sheets.Count)
warum? bzw. wie kann ich das ändern?
lg
petra
Anzeige
AW: Formate mitnehmen z.B. Zeilenhöhe, Druckbereic
22.02.2006 20:22:02
Josef Ehrensberger
Hallo Petra!
Tabellen kannst du einfügen bis der Arzt kommt, oder dein Arbeitsspeicher nicht
mehr mitmacht!
Aber eine andere Frage. Warum kopierst du x-mal das selbe Blatt mit nur
einer geänderten Zelle?
Was bezweckst du damit?
'******************************
'* Gruß Sepp
'*
'* Rückmeldung wäre nett!
'******************************

Anzeige
AW: Formate mitnehmen z.B. Zeilenhöhe, Druckbereic
23.02.2006 11:40:36
petra
dann verstehe ich nicht, warum der makro dann mittendrin aufhört. kannst du mir das erklären?
das blatt, was ich zig mal kopiere, ist nicht immer das gleiche. durch die änderung von zelle oldWB.Sheets(1).Cells(3, 1).Value = szName und dem anschließenden befehl application.calculatefull werden andere daten in das file gezogen und somit andere werte kopiert.
hab mal eine datei erstellt, die keine daten hat. da funktioniert der makro einwandfrei. wenn ich dann den makro eins zu eins in mein original kopiere hört er immer wieder bei dem gleichen wert von i auf. nämlich i =49.
ich versteh es nicht. gibt es dafür vielleicht ne logische erklärung?
lg
petra
Anzeige
AW: Formate mitnehmen z.B. Zeilenhöhe, Druckbereic
23.02.2006 23:21:41
Josef Ehrensberger
Hallo Petra!
Die Beschränkung gibt's so nicht!
Aber vielleicht enthält "szName" ungültige Zeichen für den Tabellennamen!
Ein tabellenname darf folgende Zeichen nicht enthalten.

: / \ ? * [ ]


Ausserdem darf der Name maximal 31 Zeichen lang sein!
Check das mal ab.
'******************************
'* Gruß Sepp
'*
'* Rückmeldung wäre nett!
'******************************

Anzeige
AW: Formate mitnehmen z.B. Zeilenhöhe, Druckbereic
24.02.2006 11:56:53
petra
Hallo Joseph,
also daran liegt es nicht. es sind 90 verschiedene Zahlenwerte.
vor allem, was mich zum verzweifelung treibt, ich habe mal die verlinkungen aus der datei genommmen und nur die leeren tabellenblätter durch den makro laufen lassen.
da klappt es ohne probleme.
wie kann das denn sein?
ärgert mich!!!
lg
petra
AW: Formate mitnehmen z.B. Zeilenhöhe, Druckbereic
21.02.2006 20:47:40
chris b
Oder du lässt nach dem kopieren noch dieses Makro durchlaufen :)
Es speichert die aktuellen Spaltenbreiten zeilenhöhen in ein Arry und formatiert deine Zieltabelle genauso.
Nicht gerade eine elegante Lösung aber funktioniert.
grüße Christian
Dim cbr(65537)
Dim cbc(257)

Sub neu()
Application.ScreenUpdating = False
For x = 1 To 256
cbc(x) = Cells(1, x).ColumnWidth
' Columns("D:D").ColumnWidth = 19.14
Next
For y = 1 To 65536
cbr(y) = Cells(y, 1).RowHeight
Next
'im neuen Sheet Spaltenbreite und höhe angleichen
Windows("Mappe2").Activate
For x = 1 To 256
Cells(1, x).ColumnWidth = cbc(x)
' Columns("D:D").ColumnWidth = 19.14
Next
For y = 1 To 65536
Cells(y, 1).RowHeight = cbr(y)
Next
Application.ScreenUpdating = True
End Sub

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige