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

Einzelne Zeichen einer Zahl formatieren

Forumthread: Einzelne Zeichen einer Zahl formatieren

Einzelne Zeichen einer Zahl formatieren
18.01.2008 15:25:00
Eckart
Ich möchte in einer alphanumerischen Liste hin und wieder die ersten zwei Zeichen einer Zelle fett formatieren.
Das klappt mit .Characters(Start:=1, Length:=2).Font.FontStyle = "Fett" auch ganz ausgezeichnet - bloß wenn der Zell-Inhalt rein numerisch ist, wird die ganze Zelle fett formatiert.
Ich habe auch versucht, den Rest des Zell-Inhaltes explizit nicht fett zu formatieren, das wird aber ignoriert.
Weiß jemand einen Rat?

Anzeige

4
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
setz ein (')Hochkomma vor die Zahl oT
18.01.2008 15:37:58
Matthias

Versuch das mal manuell, da geht's auch...
18.01.2008 15:40:00
Luc:-?
...nicht, Meister Eckehard... ;-)
Also hoffnungslos, wenn man die Zahlen nicht erst zu Text machen will; dann geht's, aber man muss bei Verwendung in Zahlenvergleichen diese Zellen immer erst mit 1 multiplizieren!
Gruß Luc :-?

AW: Einzelne Zeichen einer Zahl formatieren
18.01.2008 16:21:03
Eckart
Bloß keine Hochkommata in die Zellen - die sind hinterher nicht auswertbar!
Der Tipp mit der manuellen Formatierung ist ganz besonders wertvoll - heißesten Dank! Es geht mir um zu automatisierende Prozesse, Listen mit 20.000 Zeilen, bei denen die manuelle Formatierung langwierig und fehleranfällig ist.
Ich habe es rausgekriegt: man muss den Wert des Zellinhaltes neu schreiben
- Wert in eine Textvariable schreiben
- der Zelle den Wert der Textvariablen zuweisen (activecell.formular1c1 = strText)
- dann kann man nach Lust und Laune einzelne Zeichen formatieren
Das dazugehörende Code-Schnippsel (wie gesagt, die ersten zwei Zeichen werden fett formatiert):
With ActiveCell
strtext = .FormulaR1C1
.FormulaR1C1 = strText
strfont = .Font.Name
With .Characters(Start:=1, Length:=2).Font
.Name = strfont
.FontStyle = "Fett"
.Strikethrough = False
.Superscript = False
.Subscript = False
.OutlineFont = False
.Shadow = False
.Underline = xlUnderlineStyleNone
.ColorIndex = xlAutomatic
End With
End With

Anzeige
Von Jemand der in Xl und VBA GUT sein will,...
18.01.2008 17:08:33
Luc:-?
...wird man ja wohl erwarten können,
dass er solche Hinweise versteht, aber wahrscheinlich ist das ja zuviel verlangt von Jemandem, der nur manuell und dann nichts mehr liest! Letztlich hast du nichts anderes gemacht als dir empfohlen wurde! Oder hast du einen fertigen Code erwartet? Das konntest du doch auch selber!
Also bleib mal schön auf dem Teppich der Bescheidenheit! Dein Code ist für uns keine Offenbarung, zumal du ja auch überflüssige Standardeinstellungen mitschleppst!
Mit dem so entstandenen Zahlentext kannst du übrigens ohne Vorbehandlung genausowenig bestimmte Rechenoperationen durchführen wie mit vorangestelltem Apostroph.
Ansonsten könntest du auch gern mal Einsicht in die Forumsregeln nehmen... Du hast es scheints nötig!
Auch ohne Gruß!
Luc :-?
Anzeige
;
Anzeige

Infobox / Tutorial

Einzelne Zeichen einer Zahl in Excel formatieren


Schritt-für-Schritt-Anleitung

Um einzelne Zeichen einer Zahl in Excel zu formatieren, kannst du folgendes VBA-Skript verwenden. Dieses Skript ermöglicht es dir, spezifische Zeichen fett zu formatieren, selbst wenn die Zelle ursprünglich numerisch ist.

  1. Öffne Excel und drücke ALT + F11, um den VBA-Editor zu öffnen.

  2. Füge ein neues Modul hinzu, indem du mit der rechten Maustaste auf "VBAProject" klickst und "Einfügen" > "Modul" auswählst.

  3. Kopiere und füge den folgenden Code in das Modul ein:

    Sub FormatCharacters()
        Dim strText As String
        With ActiveCell
            strText = .FormulaR1C1
            .FormulaR1C1 = strText
            strfont = .Font.Name
            With .Characters(Start:=1, Length:=2).Font
                .Name = strfont
                .FontStyle = "Fett"
                .Strikethrough = False
                .Superscript = False
                .Subscript = False
                .OutlineFont = False
                .Shadow = False
                .Underline = xlUnderlineStyleNone
                .ColorIndex = xlAutomatic
            End With
        End With
    End Sub
  4. Schließe den VBA-Editor und kehre zu Excel zurück.

  5. Wähle die Zelle aus, deren Zeichen du formatieren möchtest.

  6. Drücke ALT + F8, wähle FormatCharacters aus und klicke auf "Ausführen".


Häufige Fehler und Lösungen

  • Fehler: Die gesamte Zelle wird fett formatiert, anstatt nur die ersten zwei Zeichen.

    • Lösung: Stelle sicher, dass die Zelle als Text formatiert ist, bevor du das Skript ausführst. Wenn die Zelle numerisch ist, wird Excel die gesamte Zelle formatieren.
  • Fehler: Der Skript läuft nicht oder gibt eine Fehlermeldung aus.

    • Lösung: Überprüfe, ob der Code korrekt in das Modul eingefügt wurde und ob du die richtige Zelle ausgewählt hast.

Alternative Methoden

Falls du keine VBA-Skripte verwenden möchtest, gibt es auch manuelle Methoden:

  1. Manuelle Formatierung: Du kannst die Zelle in Text umwandeln, indem du ein Hochkomma (') vor die Zahl setzt. Beachte jedoch, dass dies in Berechnungen nicht auswertbar ist.
  2. Text in Spalten: Du kannst die Funktion "Text in Spalten" verwenden, um Zahlen in Text umzuwandeln und anschließend manuell die gewünschten Zeichen zu formatieren.

Praktische Beispiele

  • Beispiel 1: Wenn du die Zelle A1 mit dem Wert 12345 hast und du die ersten zwei Zeichen (12) fett formatieren möchtest, führe das oben genannte Skript aus, während die Zelle A1 ausgewählt ist.
  • Beispiel 2: Bei einer Liste von alphanumerischen Werten wie A1234, kannst du die ersten zwei Zeichen (A1) ebenfalls fett formatieren.

Tipps für Profis

  • Nutze eine benutzerdefinierte Funktion, um den Code zu optimieren und mehrere Zellen gleichzeitig zu formatieren.
  • Experimentiere mit anderen Formatierungen wie Schriftfarbe oder Schriftgröße, um die Lesbarkeit deiner Daten zu verbessern.
  • Halte deine Daten immer in einem Textformat, wenn du planst, bestimmte Zeichen zu formatieren, um unerwartete Formatierungen zu vermeiden.

FAQ: Häufige Fragen

1. Kann ich das Skript auch für mehrere Zellen gleichzeitig verwenden?
Ja, du kannst das Skript anpassen, um eine Schleife zu verwenden, die durch eine Auswahl von Zellen iteriert.

2. Welche Excel-Version benötige ich für das Skript?
Das Skript sollte in den meisten modernen Excel-Versionen funktionieren, die VBA unterstützen, einschließlich Excel 2010 und neuer.

3. Was passiert, wenn ich die Zelle später in Berechnungen verwenden möchte?
Wenn die Zelle als Text formatiert ist, musst du sie in einen numerischen Wert umwandeln, indem du eine mathematische Operation wie *1 anwendest.

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Entdecke mehr
Finde genau, was du suchst

Die erweiterte Suchfunktion hilft dir, gezielt die besten Antworten zu finden

Suche nach den besten Antworten
Unsere beliebtesten Threads

Entdecke unsere meistgeklickten Beiträge in der Google Suche

Top 100 Threads jetzt ansehen
Anzeige