Google Groups no longer supports new Usenet posts or subscriptions. Historical content remains viewable.
Dismiss

Formatierung in Kopfzeile & VBA

169 views
Skip to first unread message

Sylvia Gassert

unread,
Aug 19, 2001, 2:14:06 PM8/19/01
to
Hallo,
ich habe folgende Aufgabenstellung:
Die Kopfzeilendaten werden in eine normale Excel(97)-Tabelle
geschrieben und dann per Makro für alle Blätter in die Kopfzeilen
übernommen. Das funktioniert.
Nun möchte ich das erste Wort in der Kopfzeile fett haben, dann soll´s
in standard weitergehen.
Hat jemand einen Tip?

Gruß
Sylvia

Konrad Hauke

unread,
Aug 19, 2001, 5:02:41 PM8/19/01
to
Hallo 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...

Sylvia Gassert

unread,
Aug 20, 2001, 1:36:27 PM8/20/01
to
> Hallo Konrad,
> danke, der LeftHeader reicht. Könntest Du mir noch erklären, wie und wo
> ich den Bezug zum Tabellenblatt

['5'!B5] = der erste Text, der fett sein soll
['5'!B6] = der Folgetext in standard

> einbaue?
>
> Vielen Dank für Deine Hilfe.
> Gruß
> Sylvia

Konrad Hauke

unread,
Aug 20, 2001, 5:45:51 PM8/20/01
to
Hallo 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...

Sylvia Gassert

unread,
Aug 21, 2001, 1:58:54 AM8/21/01
to
> Hallo Konrad,
>
> lt. VBA fehlt "End With". Ich habe es beim ersten Code zwischen "End If"
>und "End Sub" gesetzt. Nun kommt zwar keine Fehlermeldung mehr, es
passiert aber auch nix.

Gruß
Sylvia

Wilfried Butzek

unread,
Aug 21, 2001, 5:55:58 PM8/21/01
to
Sylvia Gassert schrieb am 20 Aug 2001 10:36:27 -0700:
>
> > Hallo Konrad,
> > danke, der LeftHeader reicht. Könntest Du mir noch erklären, wie und wo
> > ich den Bezug zum Tabellenblatt
>
> ['5'!B5] = der erste Text, der fett sein soll
> ['5'!B6] = der Folgetext in standard
>
> > einbaue?

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

0 new messages