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

Forumthread: Einfügen - Symbol in VBA möglich?

Einfügen - Symbol in VBA möglich?
10.03.2006 20:41:50
Daniel
Hallo,
es gibt die Möglichkeit, Sonderzeichen und Mathematsche Symbole über den Menübefehel: EINFÜGEN-SYMBOL direkt in eine Zelle oder Textbox einzufügen, ohne dazu die Schriftart auf einen anderen Zeichensatz umzustellen (wenn der Unicode(hex) verwendet wird, dnnn sind mehr als 256 verschiedene Zeichen pro Zeichensatz möglich)
Jetzt würde ich diese Sonderzeichen gerne über ein VBA-Makro verwenden, aber der Makrorekorder zeichnet nur den normalen ASCII-Code mit 256 Zeichen auf, d.h. wenn ich beispielsweise das Summenzeichen einfüge, zeichnet der Makrorekorder das Fragezeichen auf (code = 63)
Gibt es also eine Möglichkeit, den Unicode-Zeichensatz über Makros in eine Zelle einzufügen?
Gruß, Daniel Eisert
Anzeige

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

Betreff
Datum
Anwender
Anzeige
AW: Ja, auch wenn du die Zeichen nicht direkt...
11.03.2006 03:33:35
Luc:-?
...in den Code schreiben kannst, Daniel.
Ich verwende dafür einerseits selbstgeschriebene udFunctions (muss die Zelle aber als Unicode formatiert wdn) und andererseits eine xlMappe mit 3 Unicode-Quantitäten, die sich auf verschiedene Unicode-Schriftarten einstellen lassen. Mit verschiedenen "Lupen" können die Einzelzeichen betrachtet und aus diesen kopiert wdn. Es gibt auch eine Möglichkeit, Zeichen nebst Formatierung auf eine Zelle "fern" zu übertragen (die Zieladresse muss angegeben wdn).
War mal ein Versuch zu der Problematik und deshalb in der täglichen Praxis vielleicht etwas schwerfällig. Bei Wunsch kann ich dir das eine oder andere mal ins Forum bzw auf den Server stellen.
Gruß zum WE
Luc :-?
Anzeige
AW: Einfügen - Symbol in VBA möglich?
11.03.2006 10:04:30
Reinhard
Hi Daniel,
in xl2000 gibts wohl kein Einfügen-Symbol oder ich übersehe es.
Wie wärs damit für das Summenzeichen:

Sub ttt()
With Range("B1")
.Font.Name = "Arial Unicode MS"
.Value = ChrW(425)
End With
End Sub

Gruß
Reinhard
ps: Ich freue mich über eine Rückmeldung ob diese Antwort hilfreich war oder nicht..
Anzeige
Gelöst, Vielen Dank
12.03.2006 14:00:05
Daniel
Hallo
chrw() ist also der schlüssel zum Sonderzeichen
Vielen Dank, funktioniert einwandfrei
Gruß, Daniel
AW: Einfügen - Symbol in VBA möglich?
11.03.2006 16:40:27
Thomas
Hallo Daniel,
schreib Dir einfach eine Funktion ...

Option Explicit
Public Function Unicode(code As LongAs String
    Unicode = ChrW(code)
End Function


Gruss
Thomas
Risi Thomas Softwareentwicklung
Addins - Datenbanklösungen - Komponenten - RTDServer
Anzeige
;

Forumthreads zu verwandten Themen

Anzeige
Anzeige
Anzeige
Anzeige
Anzeige

Infobox / Tutorial

Sonderzeichen und Symbole in VBA einfügen


Schritt-für-Schritt-Anleitung

Um Sonderzeichen und Symbole in Excel VBA einzufügen, kannst du die Funktion ChrW() verwenden. Hier ist eine einfache Anleitung:

  1. Öffne Excel und drücke ALT + F11, um den VBA-Editor zu öffnen.
  2. Erstelle ein neues Modul, indem du im Projektfenster mit der rechten Maustaste auf "VBAProject" klickst und "Einfügen" → "Modul" wählst.
  3. Füge den folgenden Code in das Modul ein:
Sub InsertSymbol()
    With Range("B1")
        .Font.Name = "Arial Unicode MS" ' Schriftart auf Unicode setzen
        .Value = ChrW(8721) ' Summenzeichen
    End With
End Sub
  1. Schließe den VBA-Editor und führe das Makro aus, um das Summenzeichen in die Zelle B1 einzufügen.

Du kannst die ChrW() Funktion mit verschiedenen Unicode-Zeichen verwenden, um unterschiedliche Symbole einzufügen. Eine Übersicht über die Unicode-Zeichen findest du in einer vba chrw tabelle.


Häufige Fehler und Lösungen

  • Fehler: Das Symbol wird nicht korrekt angezeigt.
    Lösung: Stelle sicher, dass die Zelle mit einer Schriftart formatiert ist, die das gewünschte Unicode-Zeichen unterstützt (z.B. "Arial Unicode MS").

  • Fehler: ChrW() gibt ein Fragezeichen zurück.
    Lösung: Überprüfe, ob du den richtigen Unicode-Wert verwendest. Die ASCII-Code Tabelle enthält nur die ersten 256 Zeichen. Für Unicode-Zeichen musst du die entsprechenden Werte verwenden.


Alternative Methoden

Eine weitere Möglichkeit, Sonderzeichen in Excel VBA einzufügen, ist die Verwendung einer benutzerdefinierten Funktion:

Public Function Unicode(code As Long) As String
    Unicode = ChrW(code)
End Function

Du kannst dann diese Funktion in deinen Zellen verwenden, um Zeichen wie das Delta-Zeichen (Δ) oder das Sigma-Zeichen (Σ) einzufügen.


Praktische Beispiele

  1. Delta-Zeichen einfügen:
Sub InsertDeltaSymbol()
    With Range("C1")
        .Font.Name = "Arial Unicode MS"
        .Value = ChrW(&HD1) ' Delta-Zeichen
    End With
End Sub
  1. Summenzeichen mit einer Funktion einfügen:
Sub InsertSumSymbol()
    Dim sumSymbol As String
    sumSymbol = Unicode(8721) ' Summenzeichen
    Range("D1").Value = sumSymbol
End Sub

Tipps für Profis

  • Verwende die vba unicode Funktionen, um sicherzustellen, dass du die richtigen Zeichen verwendest.
  • Erstelle eine eigene vba ascii code tabelle, um häufig verwendete Zeichen und deren Codes schnell nachschlagen zu können.
  • Experimentiere mit verschiedenen Schriftarten, um die Darstellung von Sonderzeichen zu optimieren.

FAQ: Häufige Fragen

1. Wie finde ich den Unicode-Wert für ein Zeichen?
Du kannst Online-Tools oder die Windows Zeichentabelle verwenden, um die Unicode-Werte für verschiedene Zeichen zu finden.

2. Funktioniert das Einfügen von Sonderzeichen in allen Excel-Versionen?
Ja, die Verwendung von ChrW() funktioniert in den meisten modernen Excel-Versionen, aber die Unterstützung für bestimmte Schriftarten kann variieren.

3. Kann ich auch ASCII-Zeichen in VBA verwenden?
Ja, du kannst auch ASCII-Zeichen mit der Chr() Funktion verwenden, jedoch ist die Anzahl der verfügbaren Zeichen auf 256 beschränkt.

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige