Live-Forum - Die aktuellen Beiträge
Anzeige
Anzeige
HERBERS
Excel-Forum (Archiv)
20+ Jahre Excel-Kompetenz: Von Anwendern, für Anwender

Forumthread: Sonderzeichen mit VBA einfügen

Sonderzeichen mit VBA einfügen
Ralf
Hallo Forum,
ich möchte aus der Schriftart „Symbol“ den dargestellten Pfeil mit einem VBA Skript einfügen.
Die Zeichentabelle gibt als Zeichencode 0xDE aus.
Ich habe folgenden Code, der aber leider nicht das gewünschte Ergebnis bringt:
Sub Zeichen_einfügen()
ActiveCell.Value = ChrW(&0xDE)
End Sub
Kann mir bitte jemand sagen, warum dies nicht funktioniert?
Vielen Dank im Voraus für eine Rückmeldung.
Viele Grüße
Ralf

Anzeige
AW: Sonderzeichen mit VBA einfügen
11.09.2012 08:26:01
mäxl
Hallo Ralf
sowas?
Sub Zeichen_Einfuegen()
With ActiveCell
.Value = Chr(222) & "Was auch immer"
.Characters(1, 1).Font.Name = "Symbol"
End With
End Sub
bzw. wenn sonst kein Text ist einfach die ganze Zelle mit Schriftart Symbol versehen.
gruß

Anzeige
AW: Sonderzeichen mit VBA einfügen
11.09.2012 08:31:03
Ralf
Hallo Mäxl,
passt. Super Lösung.
Vielen Dank dafür.
Viele Grüße
Ralf

AW: Sonderzeichen mit VBA einfügen
12.09.2012 09:47:12
Ralf
Hallo Forum,
jetzt habe ich doch noch eine Frage dazu.
Ausgangssituation ist folgende:
Sub Sprachauswahl()
Sheets("Dateneingabe").Select
Range("G13").Select
'=WENN(Sprachauswahl!$C$10=1;"=> Eingabefelder";"=> Input fields")
ActiveCell.FormulaR1C1 = "=IF(Sprachauswahl!R10C3=1,""=> Eingabefelder"",""=> Input fields"")"
End Sub

Jetzt möchte ich den Code von Mäxl gerne in meinen integrieren:
Sub Zeichen_Einfuegen()
With ActiveCell
.Value = Chr(222) & "Eingabefelder"
.Characters(1, 1).Font.Name = "Symbol"
End With
End Sub
Soll heißen, wie bringe ich in den Code von Mäxl eine Sprachauswahl mit einer If Funktion rein, so wie ich es bislang mit der Formel habe? Ich habe mich gestern mal mit der If Funktion beschäftigt, es aber nicht Tabellenblatt übergreifend hinbekommen.
Vielen Dank im Voraus für Eure Unterstützung.
Viele Grüße
Ralf

Anzeige
AW: Sonderzeichen mit VBA einfügen
12.09.2012 10:16:53
Rudi
Hallo,
Sub Zeichen_Einfuegen()
With ActiveCell
.Value = Chr(222) & _
IIf(Sheets("Sprachauswahl").Range("C10") = 1, " Eingabefelder", " Inputfields")
.Characters(1, 1).Font.Name = "Symbol"
End With
End Sub

Gruß
Rudi

AW: Sonderzeichen mit VBA einfügen
12.09.2012 10:35:40
Ralf
Hallo Rudi,
der Pfeil erscheint, aber der anschließende Text ist ebenfalls in der Schriftart Symbol formatiert und somit nicht lesbar.
Viele Grüße
Ralf

Anzeige
AW: Sonderzeichen mit VBA einfügen
12.09.2012 10:46:59
mäxl
Hall Ralf
Sub Zeichen_Einfuegen()
With Sheets("Sprachauswahl")
.Cells(13, "G").Font.Name = "Arial"
.Cells(13, "G") = Chr(222) & _
IIf(.Range("C10") = 1, " Eingabefelder", " Inputfields")
.Cells(13, "G").Characters(1, 1).Font.Name = "Symbol"
End With
End Sub
passt es so?
gruß

Anzeige
AW: Sonderzeichen mit VBA einfügen
12.09.2012 10:54:20
Ralf
Hallo Mäxl,
jetzt passts. Super Lösung.
Viele Grüße
Ralf

AW: Sonderzeichen mit VBA einfügen
12.09.2012 10:55:27
Rudi
Hallo,
das passiert, wenn der Text zu wiederholten Mal eingefügt wird.
Sub Zeichen_Einfuegen()
With ActiveCell
.Font.Name = Application.StandardFont
.Value = Chr(222) & _
IIf(Sheets("Sprachauswahl").Range("C10") = 1, " Eingabefelder", " Inputfields")
.Characters(1, 1).Font.Name = "Symbol"
End With
End Sub

Gruß
Rudi

Anzeige
AW: Sonderzeichen mit VBA einfügen
12.09.2012 10:19:16
mäxl
Hallo Ralf
Formeln und Formatierungen vertragen sich nicht!
(kannst du auch leicht testen--- versuche einmal ein Zeichen z.B rote Schriftfarbe für ein Zeichen in deiner Formel im Tabellenblatt zu ändern...., wird nicht funktionieren)
Ich verstehe auch nicht warum man Formeln über VBA einfügen sollte ;)
Wenn schon VBA dann würde ich gleich das Ergbnis eintragen.
gruß

Anzeige
AW: Sonderzeichen mit VBA einfügen
12.09.2012 10:27:48
Ralf
Hallo Mäxl,
ich möchte Formeln per VBA einfügen, damit ich immer wieder den Ausgangszustand herstellen kann.
Es gibt halt immer wieder Leute, die gerne mal was ändern und eigene Innovationen einfließen lassen wollen.
Ich habe in bestimmten Bereichen bewußt die Möglichkeit geschaffen, Formeln zu überschreiben, um manuelle Eingaben zu ermöglichen. Ich kann dann auf Knopfdruck den alten Zustand wieder herstellen.
Viele Grüße
Ralf

Anzeige
AW: Sonderzeichen mit VBA einfügen
12.09.2012 10:40:33
mäxl
Hallo Ralf
Ich habe in bestimmten Bereichen bewußt die Möglichkeit geschaffen, Formeln zu überschreiben, um manuelle Eingaben zu ermöglichen. Ich kann dann auf Knopfdruck den alten Zustand wieder herstellen.
Das geht ja nach wie vor auch ohne Formel, so wie es schon Rudi gepostet hat, er macht dabei die WENN in VBA und schreibt nur mehr das Ergebnis in die Zelle.
Aber entscheiden musst du selbst. :)
Wie vorhin schon gepostet, Formel und Format sind unverträglich.
gruß
Anzeige
;

Forumthreads zu verwandten Themen

Anzeige
Anzeige
Anzeige
Anzeige
Entdecke relevante Threads

Schau dir verwandte Threads basierend auf dem aktuellen Thema an

Alle relevanten Threads mit Inhaltsvorschau entdecken
Anzeige
Anzeige

Infobox / Tutorial

Sonderzeichen mit VBA einfügen


Schritt-für-Schritt-Anleitung

Um ein Sonderzeichen wie einen Pfeil in Excel mit VBA einzufügen, kannst du die Funktion ChrW oder Chr verwenden. Hier ist eine einfache Schritt-für-Schritt-Anleitung:

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

  2. Füge ein neues Modul hinzu:

    • Klicke mit der rechten Maustaste auf "VBAProject (DeineDatei.xlsx)" und wähle Einfügen > Modul.
  3. Kopiere den folgenden Code in das Modul:

    Sub Sonderzeichen_einfuegen()
       With ActiveCell
           .Value = ChrW(&HDE) ' ASCII Code für den Pfeil
           .Font.Name = "Symbol" ' Setze die Schriftart auf Symbol
       End With
    End Sub
  4. Schließe den VBA-Editor und gehe zurück zu deiner Excel-Tabelle.

  5. Wähle die Zelle aus, in die du das Sonderzeichen einfügen möchtest.

  6. Führe das Makro aus: Drücke ALT + F8, wähle Sonderzeichen_einfuegen und klicke auf Ausführen.

Mit dieser Methode kannst du verschiedene ASCII-Zeichen, wie z.B. Pfeile, einfach in deine Tabelle einfügen.


Häufige Fehler und Lösungen

  • Fehler: Zeichen wird nicht korrekt angezeigt

    • Lösung: Stelle sicher, dass die Schriftart auf "Symbol" gesetzt ist, da viele ASCII-Zeichen in anderen Schriftarten nicht korrekt dargestellt werden.
  • Fehler: VBA-Code funktioniert nicht

    • Lösung: Überprüfe, ob du den Code richtig eingefügt hast und dass die Zelle aktiv ist, bevor du das Makro ausführst.

Alternative Methoden

Es gibt verschiedene Methoden, um Sonderzeichen in Excel einzufügen:

  1. Verwendung der Zeichentabelle:

    • Gehe zu Einfügen > Symbol > Weitere Symbole, wähle die Schriftart "Symbol" und suche den gewünschten Pfeil.
  2. HTML-Codes verwenden:

    • Du kannst auch HTML-Sonderzeichen verwenden, wenn du in einer Webanwendung arbeitest.
  3. Formeln nutzen:

    • Du kannst ASCII-Zeichen auch direkt in Formeln verwenden, z.B. =CHAR(222).

Praktische Beispiele

Hier sind einige Beispiele, wie du verschiedene Pfeile mit VBA einfügen kannst:

  • Pfeil nach oben:

    .Value = ChrW(&H2191) ' Unicode für Pfeil nach oben
  • Pfeil nach unten:

    .Value = ChrW(&H2193) ' Unicode für Pfeil nach unten
  • Doppelpfeil:

    .Value = ChrW(&H21D5) ' Unicode für Doppelpfeil

Diese Codes kannst du einfach in die oben stehende Subroutine integrieren, um verschiedene Pfeile einzufügen.


Tipps für Profis

  • Nutze die vba ascii code tabelle, um herauszufinden, welche Codes du für verschiedene Zeichen verwenden kannst.
  • Wenn du regelmäßig Sonderzeichen einfügst, erwäge, eine benutzerdefinierte Toolbar oder Schaltfläche für schnellen Zugriff auf deine VBA-Makros zu erstellen.
  • Denke daran, dass die Verwendung von Chr für ASCII-Zeichen und ChrW für Unicode-Zeichen geeignet ist.

FAQ: Häufige Fragen

1. Wie kann ich ASCII-Zeichen in Excel anzeigen?
Du kannst die Funktion CHAR oder CHARW verwenden, um ASCII-Zeichen anzuzeigen. Zum Beispiel: =CHAR(222) gibt das Zeichen für den ASCII-Code 222 zurück.

2. Welche Schriftart sollte ich verwenden, um Pfeile korrekt anzuzeigen?
Die Schriftart "Symbol" wird empfohlen, da viele Pfeilzeichen dort korrekt dargestellt werden.

3. Kann ich Sonderzeichen aus einer anderen Tabelle kopieren?
Ja, du kannst VBA verwenden, um eine Zelle zu kopieren und den Inhalt in eine andere Zelle einzufügen. Verwende dazu den Befehl ActiveCell.Copy und ActiveCell.PasteSpecial.

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