Kyrillische Zeichen in Excel mit VBA bearbeiten
Schritt-für-Schritt-Anleitung
-
Öffne Excel und erstelle ein neues Arbeitsblatt.
-
Schreibe den gewünschten kyrillischen Text in die Zelle A1, z. B. "Приемни".
-
Öffne den VBA-Editor mit ALT + F11
.
-
Füge ein neues Modul hinzu: Rechtsklick auf "VBAProject" > Einfügen > Modul.
-
Kopiere den folgenden Code in das Modul:
Option Explicit
Sub Kyrill()
Dim strPath As String, strText As String
strPath = "E:\temp\test.txt" ' Pfad zur Datei
strText = Worksheets("Tabelle1").Range("A1") ' Text aus Zelle A1
Open strPath For Output As #1
Print #1, Chr(255); Chr(254); ' BOM schreiben
Print #1, GetUniCodeString(strText); ' Text umkodieren und schreiben
Close #1
Shell "notepad " & strPath, vbMaximizedFocus ' Datei im Notepad öffnen
End Sub
Function GetUniCodeString(s As String) As String
Dim i As Integer
GetUniCodeString = ""
For i = 1 To LenB(s)
GetUniCodeString = GetUniCodeString & Chr(AscB(MidB(s, i, 1)))
Next
End Function
-
Führe das Makro aus: Klicke im VBA-Editor auf F5
oder gehe zurück zu Excel und führe das Makro über Entwicklertools > Makros
aus.
Häufige Fehler und Lösungen
-
Excel zeigt komische Zeichen statt Buchstaben an: Stelle sicher, dass die Datei mit der richtigen Kodierung (UTF-16) gespeichert wird. Achte darauf, die BOM (Byte Order Mark) am Anfang der Datei zu schreiben.
-
Dateiname mit kyrillischen Zeichen funktioniert nicht: Verwende die CreateTextFile
-Methode von Scripting.FileSystemObject
für die Erstellung der Datei. Siehe den alternativen Code im nächsten Abschnitt.
Alternative Methoden
Eine Alternative zur vorherigen Methode ist die Verwendung von FileSystemObject
, um eine Textdatei zu erstellen. Hier ist ein Beispiel:
Sub ErstelleKyrillischeDatei()
Dim fso As Object
Set fso = CreateObject("Scripting.FileSystemObject")
Dim MeineDatei As Object
Set MeineDatei = fso.CreateTextFile("D:\temp\" & Range("A1") & ".txt", True, True)
Dim i As Integer
For i = 1 To 5
MeineDatei.WriteLine Range("A1")
Next
MeineDatei.Close
Set fso = Nothing
Shell "notepad " & "D:\temp\" & Range("A1") & ".txt", vbMaximizedFocus
End Sub
Diese Methode funktioniert ebenfalls gut und ist einfach zu implementieren.
Praktische Beispiele
Wenn Du den Code in Excel erfolgreich implementierst, kannst Du verschiedene kyrillische Texte testen, um sicherzustellen, dass sie korrekt in die Textdatei geschrieben werden. Probiere es mit Namen, Städten oder beliebten Wörtern im kyrillischen Alphabet.
Beispiel: In Zelle A1 den Text "Москва" einfügen und das Makro ausführen. Die Textdatei sollte den korrekten Namen ohne Probleme speichern.
Tipps für Profis
- Achte darauf, dass der Pfad zur Datei existiert, bevor Du das Makro ausführst, um Fehler zu vermeiden.
- Nutze die
Debug.Print
-Anweisung, um den Inhalt von Variablen während der Ausführung zu überprüfen.
- Wenn Du regelmäßig mit kyrillischen Zeichen arbeitest, speichere die Makros in der persönlichen Makroarbeitsmappe, sodass Du sie in jedem neuen Excel-Dokument nutzen kannst.
FAQ: Häufige Fragen
1. Wie kann ich sicherstellen, dass die kyrillischen Zeichen korrekt angezeigt werden?
Stelle sicher, dass die Datei im UTF-16 Format gespeichert wird und dass die richtige BOM am Anfang der Datei steht.
2. Kann ich auch andere Unicode-Zeichen verwenden?
Ja, die gleiche Methodik kann für andere Unicode-Zeichen angewendet werden, indem Du den Text entsprechend anpasst.
3. Gibt es eine Möglichkeit, direkt in Excel mit kyrillischen Zeichen zu arbeiten?
Ja, Du kannst kyrillische Zeichen direkt in Zellen eingeben und mit den üblichen Excel-Funktionen arbeiten, solange die Schriftart dies unterstützt.