Gruß
Sylvia
folgende Prozedur holt sich den Text der linken- mittleren und rechten
Kopfzeile und wenn ein String vorhanden wird das erste Zeichen Fett
formatiert. Wenn es sich um viele Tabellen handelt ist die Laufzeit der
Routine nicht der Brüller da Zugriffe auf das PageSetup Objekt von
Excel grottenlangsam sind.
'----------------------------------------------------------------------
Public Sub FirstCharBold(wks As Worksheet)
Dim tText As String
With wks.PageSetup
tText = .LeftHeader
If Len(tText) Then
.LeftHeader = "&""Arial,Fett""" & Left(tText, 1) & _
"&""Arial,Standard""" & Mid(tText, 2)
End If
tText = .CenterHeader
If Len(tText) Then
.CenterHeader = "&""Arial,Fett""" & Left(tText, 1) & _
"&""Arial,Standard""" & Mid(tText, 2)
End If
tText = .RightHeader
If Len(tText) Then
.RightHeader = "&""Arial,Fett""" & Left(tText, 1) & _
"&""Arial,Standard""" & Mid(tText, 2)
End If
End With
End Sub
'----------------------------------------------------------------------
Wie du erwähnst greifst Du ja bereits auf das PageSetup Objekt zu
dort könntest Du gleich die Formatierung vornehmen das wäre bestimmt
performanter als das PageSetup Objekt ein zweites mal anzusprechen.
--
Exel_&_VBA http://www.xakte.de
und tschüss...
Konrad Hauke
----------Original Nachricht----------
"Sylvia Gassert" <bsk-Bra...@t-online.de> schrieb im Newsbeitrag
news:8121cada.0108...@posting.google.com...
['5'!B5] = der erste Text, der fett sein soll
['5'!B6] = der Folgetext in standard
> einbaue?
>
> Vielen Dank für Deine Hilfe.
> Gruß
> Sylvia
wenn ich Dich richtig verstehe dann steht in B5 von Tabelle '5' der Text
der Fett angedruckt werden soll und in B6 von Tabelle '5' der name Text
der normal gedrucht werden soll, wenn ja dann kannst Du folgenden Code
verwenden. Ich gehe davon aus dass die Tabelle für die Du den Headertext
setzen möchtest die aktive Tabelle ist.
Beispiel:
...
Worksheets("Tabelle1").Activate
Call SetLeftHeaderText()
...
'Diesen Code in Codemodulfenster kopieren!
'----------------------------------------------------------------------
Public Sub FirstStringBold(Wks As Worksheet, _
TxtBold As String, _
TxtStandard As String)
Dim tText As String
With Wks.PageSetup
tText = .LeftHeader
If Len(tText) Then
.LeftHeader = "&""Arial,Fett""" & TxtBold & _
"&""Arial,Standard""" & TxtStandard
End If
End Sub
'----------------------------------------------------------------------
Public Sub SetLeftHeaderText()
Call FirstStringBold(ActiveSheet, _
Worksheets("5").Range("B5"), _
Worksheets("5").Range("B6"))
End Sub
'----------------------------------------------------------------------
--
Exel_&_VBA http://www.xakte.de
und tschüss...
Konrad Hauke
----------Original Nachricht----------
"Sylvia Gassert" <bsk-Bra...@t-online.de> schrieb im Newsbeitrag
news:8121cada.01082...@posting.google.com...
Gruß
Sylvia
Hallo Sylvia,
kannst Du z.B mit folgender Prozedur (im allgemeinen
Modul Deiner Arbeitsmappe) erreichen (fuer XL 97):
Sub KopfzeileFormatiert()
ActiveSheet.PageSetup.LeftHeader _
= "&B" & Worksheets("5").Range("B5").Value _
& " " & _
"&B" & Worksheets("5").Range("B6").Value
End Sub
In Zelle B5 steht z.B. "Aber" und in Zelle 6 steht z.B. "Hallo".
Schreibt bei mir in die linke Kopfzeile des aktiven Tabellen-
blattes in_eine_Zeile das Wort "Aber" fett und nach
einem Leerzeichen das Wort "Hallo" normal.
Mit freundlichem Gruss
Wilfried