Live-Forum - Die aktuellen Beiträge
Datum
Titel
28.03.2024 21:12:36
28.03.2024 18:31:49
Anzeige
Archiv - Navigation
1432to1436
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
Inhaltsverzeichnis

Kopfzeile mit vba füllen - Macht was es will

Kopfzeile mit vba füllen - Macht was es will
02.07.2015 10:39:10
Christoph
Hallo zusammen,
ich habe ein Makro erstellt, welches Daten aus benutzerdefinierten Eigenschaften in die Kopfzeile bzw. Fußzeile aller Tabellenblätter schreiben soll. Eigentlich funktioniert es, allerdings mit Einschränkungen:
1. Manchmal übernimmt er den aktualisierten Text nicht
2. Manchmal schreibt er den Text woanders hin (also z.B. Seitenzahl nicht rechts unten sondern links oben
3. Manchmal zeigt er mir den alten Text durchgestrichen an
4. Manchmal kommt der Fehler wg. den maximalen Zeichen, obwohl ich davor alle Zeichen rauslösche und in Summe weniger wie 160 Zeichen in die Kopfzeile geschrieben werden.
Anbei mein Code:

Sub Header_aktualisieren()
Dim i As Integer
Dim strTabName As String
Dim strTextCenter As String
Dim strTextRight As String
Application.ScreenUpdating = False
Application.PrintCommunication = False
strTabName = ActiveSheet.Name
With ThisWorkbook
strTextCenter = .CustomDocumentProperties("_KAM_Projbez") & vbLf & _
.CustomDocumentProperties("_KAM_Gewerk") & vbLf & _
.CustomDocumentProperties("_KAM_Dokumentenart") & vbLf & _
.CustomDocumentProperties("_KAM_DokTitel")
Debug.Print Len(strTextCenter)
If .CustomDocumentProperties("_KAM_Send") = True Then
strTextRight = "Revision: " & .CustomDocumentProperties("_KAM_RevNr") & vbLf & _
"Version: " & .CustomDocumentProperties("_KAM_VerNr") & vbLf & _
"Datum: " & .CustomDocumentProperties("_KAM_RefDatum") & vbLf & _
"Bearbeiter: " & .CustomDocumentProperties("_KAM_RefName") & vbLf
Else
strTextRight = "Erstausgabe" & vbLf & _
"Version: " & .CustomDocumentProperties("_KAM_VerNr_Ers") & vbLf & _
"Datum: " & .CustomDocumentProperties("_KAM_ErsDat") & vbLf & _
"Bearbeiter: " & .CustomDocumentProperties("_KAM_ErstNam") & vbLf
End If
If .CustomDocumentProperties("_KAM_AngProj") = "Projekt" Then
strTextRight = strTextRight & "Projekt-Nr: " & .CustomDocumentProperties(" _
_KAM_ProjNummer")
Else
strTextRight = strTextRight & "Angebots-Nr: " & .CustomDocumentProperties(" _
_KAM_ProjNummer")
End If
Debug.Print Len(strTextRight)
End With
For i = 1 To ActiveWorkbook.Sheets.Count
If Sheets.Item(i).Name  "CoverSheet" Then
Sheets.Item(i).Activate
With ActiveSheet.PageSetup
.LeftHeader = "."
.CenterHeader = "  "
.RightHeader = "  "
.RightFooter = "."
.CenterFooter = "."
.LeftFooter = "."
End With
End If
Next i
For i = 1 To ActiveWorkbook.Sheets.Count
If Sheets.Item(i).Name  "CoverSheet" Then
Sheets.Item(i).Activate
With ActiveSheet.PageSetup
.CenterHeader = "&""Arial,Fett""&8 " & strTextCenter
.RightHeader = "&""Arial""&6 " & strTextRight
.RightFooter = "&""Arial,Fett""&8&P von/of &N"
.CenterFooter = "&8&H&A"
.LeftFooter = "&6&Z&F"
End With
End If
Next i
Sheets.Item(strTabName).Activate
Application.PrintCommunication = True
Application.ScreenUpdating = True
End Sub

1
Beitrag zum Forumthread
Beitrag zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: Kopfzeile mit vba füllen - Macht was es will
02.07.2015 14:49:05
Klexy
Eine Musterdatei wäre schon hilfreich bei einem so komplexen Sachverhalt.
Und dann noch die "Manchmal"-Werte und die "Manchmal nicht"-Werte mitgeben, damit wir sie nicht erraten müssen.
Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige