Anzeige
Anzeige
HERBERS
Excel-Forum (Archiv)
20+ Jahre Excel-Kompetenz: Von Anwendern, für Anwender

Forumthread: Limitierung Zeichen Kopfzeile/Fußzeile

Limitierung Zeichen Kopfzeile/Fußzeile
10.09.2007 11:47:18
Runner244x
Hallo und schönen guten Tag!
Ich möchte in die linke Kopfzeile dynamisch einen Zellenwert (hier: Wert in Zelle B5) speichern.
Für wenige Zeichen in der Zelle B5 klappt das auch ohne Probleme. Wenn man jedoch eine sehr lange Zeichenfolge (zB mehr als 40 Characters) eingibt, dann bekommt man einen 400-Fehler. Wo genau die Grenze in der Zeichenlänge liegt, kann ich nicht sagen...
For i = 2 To 6
Worksheets(i).PageSetup.LeftHeader = "&8MyTitle: " & w.Range("B5").Value
Next i
Weiss jemand an was das liegen könnte bzw. wie man diese Limitierung aufhebt?
Herzlichen Dank für Infos!

Anzeige

6
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: Limitierung Zeichen Kopfzeile/Fußzeile
10.09.2007 13:31:00
Runner244x
Hallo Hajo!
Hmm...die 249 Zeichen erscheinen mir realistisch. Wenn ich manuell die Fusszeile bzw. die Kopfzeile eintrage, dann kann ich auch mehr als diese angesprochenen 40 Zeichen eintragen...
Echt interessant das Phänomen....komisch, vielleicht gibt es ja noch einen besseren Weg wie man dynamisch Zellenwerte in die Kopfzeile/Fusszeile einbindet....
Danke auf jeden Fall für deine Info!
VG Andreas

Anzeige
AW: Limitierung Zeichen Kopfzeile/Fußzeile
10.09.2007 17:08:16
Runner244x
Hi!
Hat jemand noch eine Idee zu dem Thema?
Ich bin leider ratlos....
Danke für Infos!
VG Andreas

AW: Limitierung Zeichen Kopfzeile/Fußzeile
11.09.2007 11:18:00
Wolli
Hallo Andreas, manuell kann ich zwar 1024 Zeichen z.B. in die linke Fußzeile eintippen, aber wenn ich OK drücke, sagt mir Excel, dass es nur 255 Zeichen akzeptieren will. Nehmen tut es komischerweise aber nur 253 Zeichen. Das schiebe ich auf unsichtbare Formatierungsvorschriften: Wenn ich den Text in Größe 8 kursiv eingebe, nimmt XL nur noch 236 Zeichen.
Ansonsten ist Dein Weg doch genau richtig! Oder siehst Du noch Probleme bzw. kannst Sachen nicht per VBA reinschreiben, die Du manuell reinschreiben kannst?
Gruß, Wolli

Anzeige
AW: Limitierung Zeichen Kopfzeile/Fußzeile
11.09.2007 11:43:37
Runner244x
Hi Wolli,
das ist leider genau das Problem. Per VBA kann ich weit weniger Zeichen in die Kopf/Fusszeile schreiben als manuell....
Hier nochmal mein Code:
For i = 2 To 6
Worksheets(i).PageSetup.LeftHeader = "&8MyTitle: " & w.Range("B5").Value
Next i
Irgendwie kommt es da bei zu langen Zellenwerten von B5 zu einem 400er-Fehler...
Viele Grüße
Andreas

Anzeige
AW: Limitierung Zeichen Kopfzeile/Fußzeile
11.09.2007 12:42:00
Wolli
Tja sorry - ich habe bei mir (Excel 2002) eingegeben:

Sub Kopfzeile()
Dim i As Long, _
w As Worksheet
Set w = Sheets("Tabelle1")
For i = 2 To 3
Worksheets(i).PageSetup.LeftHeader = "&8MyTitle: " & w.Range("B5").Value
Next i
End Sub


und es funktioniert bis zu einer Länge in B5 von 242 Zeichen (mit dem festen String davor sind es insgesamt 251 Zeichen). Auch manuelle Zeilenschaltungen in B5 sind kein Problem. Darüber hinaus erhalte ich "Laufzeitfehler '1004': Die LeftHeader-Eigenschaft des PageSet-Objektes kann nicht festgelegt werden." - zu Recht!
a) Hast Du ganz wilde Formatierungen drin?
b) Was steht genau in B5?
c) Ab welcher Länge kommt der Fehler?
d) Hast Du w. richtig belegt?
e) Wenn nichts hilft, könntest Du mit left(w.Range("B5").Value,100) abschneiden.
f) Mehr weiß ich nicht.
Gruß, Wolli

Anzeige
;

Forumthreads zu verwandten Themen

Anzeige
Anzeige
Anzeige

Infobox / Tutorial

Limitierung Zeichen in Kopfzeile und Fußzeile in Excel


Schritt-für-Schritt-Anleitung

  1. Öffne deine Excel-Datei und gehe zum VBA-Editor (Alt + F11).

  2. Füge ein neues Modul hinzu: Rechtsklicke auf „VBAProject (deineDatei.xlsx)“, wähle „Einfügen“ und dann „Modul“.

  3. Kopiere den folgenden VBA-Code in das Modul:

    Sub Kopfzeile()
       Dim i As Long, w As Worksheet
       Set w = Sheets("Tabelle1") ' Ändere den Namen nach Bedarf
       For i = 2 To 6
           Worksheets(i).PageSetup.LeftHeader = "&8MyTitle: " & w.Range("B5").Value
       Next i
    End Sub
  4. Ändere den Bereich Range("B5") in den Zellenbereich, den du verwenden möchtest.

  5. Führe das Skript aus (F5), um die Kopfzeile zu setzen.

Beachte, dass die maximale Zeichenanzahl in Kopf- und Fußzeilen in Excel begrenzt ist. Für die Fußzeile gilt eine Grenze von 255 Zeichen.


Häufige Fehler und Lösungen

  • Fehler 400 oder Laufzeitfehler 1004: Diese Fehler treten auf, wenn die Zeichenlänge die erlaubte Grenze überschreitet. Achte darauf, dass die Zeichenfolge in der Kopfzeile oder Fußzeile nicht zu lang ist. Eine gute Lösung ist es, die Zeichenanzahl in der Zelle zu reduzieren, z.B. durch die Verwendung von Left():

    Worksheets(i).PageSetup.LeftHeader = Left(w.Range("B5").Value, 100)
  • Excel sagt, „die eingegebene Zeichenfolge ist zu lang“: Dies kann auftreten, wenn du versuchst, mehr als 255 Zeichen in die Fußzeile einzugeben. Stelle sicher, dass du weniger Zeichen verwendest.

  • Unsichtbare Formatierungen: Manchmal kann es sein, dass unsichtbare Zeichen oder Formatierungen die Zeichenanzahl beeinflussen. Prüfe die Zelle auf Formatierungen und entferne unnötige.


Alternative Methoden

  • Manuelles Setzen: Du kannst die Kopfzeile oder Fußzeile auch manuell über die Seitenlayout-Registerkarte in Excel einfügen. Gehe zu „Seitenlayout“ > „Drucken“ > „Kopf- und Fußzeile“ und füge dort deinen Text ein.

  • Fußnote in einer Zelle: Wenn du eine lange Erklärung benötigst, könnte es sinnvoll sein, die Informationen in einer Zelle zu platzieren und dann mit einem Verweis in die Kopfzeile oder Fußzeile zu arbeiten.


Praktische Beispiele

  • Beispiel für eine Fußzeile mit maximal 255 Zeichen:

    Worksheets(i).PageSetup.RightFooter = Left("Dies ist eine sehr lange Fußzeile, die 255 Zeichen nicht überschreiten sollte. Hier kann man viele Informationen unterbringen, solange man die Zeichenanzahl im Auge behält.", 255)
  • Dynamisches Einfügen eines Wertes aus Zelle B5 in die Kopfzeile, während die Zeichenanzahl beachtet wird:

    Worksheets(i).PageSetup.LeftHeader = Left(w.Range("B5").Value, 240) ' 240 + 8 für den festen Text

Tipps für Profis

  • Verwende Formatierungen: Nutze einfache Formatierungen, um die Lesbarkeit zu erhöhen, aber sei vorsichtig, da sie die maximale Zeichenanzahl beeinflussen können.

  • Testen der Zeichenanzahl: Bevor du deinen Code ausführst, teste die Länge des Zelleninhalts mit Len():

    If Len(w.Range("B5").Value) > 240 Then
       MsgBox "Die Zeichenanzahl ist zu hoch!"
    End If
  • VBA-Fehlerbehandlung: Implementiere eine Fehlerbehandlung, um die Ausführung deines Codes bei einem Fehler zu steuern:

    On Error Resume Next

FAQ: Häufige Fragen

1. Wie viele Zeichen kann ich in die Kopfzeile einfügen?
In der Kopfzeile kannst du bis zu 255 Zeichen verwenden. Übersteigt der Text diese Länge, wird ein Fehler angezeigt.

2. Warum kann ich mehr Zeichen manuell eingeben als per VBA?
VBA hat striktere Regeln bezüglich der Zeichenanzahl in Kopf- und Fußzeilen. Manuelle Eingaben erfahren nicht die gleiche Limitierung.

3. Gibt es eine Möglichkeit, die Zeichenbegrenzung aufzuheben?
Leider gibt es keine Möglichkeit, die Zeichenbegrenzung direkt in Excel aufzuheben. Du kannst jedoch die Zeichenanzahl reduzieren oder den Text auf mehrere Zeilen verteilen.

4. Kann ich Bilder in Kopf- oder Fußzeilen einfügen?
Ja, du kannst Bilder in Kopf- oder Fußzeilen einfügen, aber die Gesamtzeichenanzahl bleibt dabei ebenfalls begrenzt. Achte darauf, dass du genug Platz für den Text lässt.

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige