Ich habe geringe Kenntnisse in EXCEL-VBA.
Gruß
hs
> ich habe eine Benutzerdefinierte Ansicht erstellt. Diese w�rde ich gerne
> per Makro in eine neuerstellte Mappe �bernehmen um sie dort in einzelne
> Tabellenbl�tter einzuf�gen.
Warum mit einem Makro?
> Wie gehe ich dabei vor und welche Befehle ben�tige ich?
> Ich habe geringe Kenntnisse in EXCEL-VBA.
Tja, selbst mit umfassenden Kenntnissen hast Du hier ein kleines
Problem, denn die Einstellungen der Ansichten sind nicht �bertragbar.
Du kannst aber die Liste der Ansichten durchlaufen, jede einzeln
anzeigen und dann die Formate des gesamten Blattes auf ein anderes
�bertragen, dabei werden dann auch ausgeblendete Spalten/Zeilen
�bernommen.
Von Hand geht das so:
1. Ansicht anzeigen
2. Alles markieren (Strg-A)
3. Kopieren (Strg-C)
4. In die andere Tabelle/Mappe wechseln
5. Men�\Bearbeiten\Inhalte einf�gen, Formate anklicken, Ok
6. Ansicht speichern
Die Frage w�re nun woher soll das Makro wissen aus welcher Mappe
welche Ansicht in welche andere Mappe in welche Tabellen sollen?
Au�erdem hat das aber einen Haken wenn Du die Formate das 2te Mal
�bertr�gst, dann musst Du vorher die eben gesetzte Ansicht wieder
aufheben, sonst "addierst" Du die Ansichten �bereinander.
Desweiteren werden dabei nat�rlich die Druckeinstellungen nicht
�bertragen..., die gerade aktiven Zellen kann man sich zur Not gerade
noch merken..., und was fehlt noch?
Andreas.
Sub Test()
Dim OurBook As Workbook, NewBook As Workbook
Dim Found As Boolean
Dim CV As CustomView, DefCV As CustomView
Dim S As String
'Unsere Mappe merken
Set OurBook = ThisWorkbook
'Durchlaufe alle Mappen
For Each NewBook In Workbooks
'Ist eine andere sichtbare Mappe?
If NewBook.Name <> OurBook.Name And NewBook.Windows(1) _
.Visible Then
'Ja in diese m�ssen die Ansichten
Found = True
Exit For
End If
Next
'Andere Mappe gefunden?
If Not Found Then
MsgBox "Bitte zuerst eine 2te Mappe �ffnen in die die " & _
"Ansichten sollen."
Exit Sub
End If
'Zuerst in der anderen Mappe diese Standardansicht speichern
NewBook.Activate
Set DefCV = NewBook.CustomViews.Add("Standardansicht", True, _
True)
'Zur�ck in unsere Mappe
OurBook.Activate
'Durchlaufe alle Ansichten
For Each CV In OurBook.CustomViews
'Ansicht anzeigen
CV.Show
'Selektierte Zellen merken
S = Selection.Address(0, 0)
'Zellen kopieren
Cells.Copy
'Die andere Mappe aktivieren
NewBook.Activate
'Standardansicht anzeigen
DefCV.Show
'Formate einf�gen
Cells.PasteSpecial Paste:=xlPasteFormats
'Zellen selektieren
Range(S).Select
'Ansicht mit gleichem Namen speichern
NewBook.CustomViews.Add CV.Name, CV.PrintSettings, CV _
.RowColSettings
'Zur�ck in unsere Mappe
OurBook.Activate
Next
'Kopiermodus aus
Application.CutCopyMode = False
End Sub