Live-Forum - Die aktuellen Beiträge
Datum
Titel
17.04.2024 18:57:33
17.04.2024 16:56:58
Anzeige
Archiv - Navigation
1152to1156
Aktuelles Verzeichnis
Verzeichnis Index
Übersicht Verzeichnisse
Vorheriger Thread
Rückwärts Blättern
Nächster Thread
Vorwärts blättern
Anzeige
HERBERS
Excel-Forum (Archiv)
20+ Jahre Excel-Kompetenz: Von Anwendern, für Anwender
Inhaltsverzeichnis

Unicode Kyrillisch

Unicode Kyrillisch
Selter
Hallo zusammen,
ich habe folgendes Problem:
In einer Spalte habe ich kyrillische Daten, die unicode-codiert sind:
Also z.B.:
& # 1085; & # 1080 ; & # 1095 ; & # 1077 ; & # 1075 ; & # 1086 ;
(ohne Leerzeichen)
Gibt es eine Möglichkeit diesen Code in/mit Excel wieder in kyrillische Buchstaben zu verwandeln, damit aus dem o.g. Code wieder ничего wird?
Auf der Website http://www.artlebedev.ru/tools/decoder/
gibt es z.B. einen "Decoder", der das online erledigt. Allerdings habe ich eine recht große Menge an Daten (mehrere tausend Zeilen) und würde das gern eleganter mit Excel bewerkstelligen.
Danke
Selter

19
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Benutzer
Anzeige
AW: Unicode Kyrillisch
22.04.2010 18:25:29
Anton
Hallo Selter,
so vllt:
Sub b()
Dim strKyr As String, i As Integer, teilen
strKyr = " 1085; 1080; 1095; 1077; 1075; 1086;"'Leerzeichen entfernen!
strKyr = Replace(strKyr, ";", "")
teilen = Split(strKyr, "")
For i = 1 To UBound(teilen)
result = result & ChrW(teilen(i))
Next
Cells(1, 1) = result
End Sub
mfg Anton
AW: Unicode Kyrillisch
22.04.2010 21:54:48
Selter
Hallo Anton,
kenne mich leider mit VBA nicht aus :(
Wo genau gebe ich den Code in Excel 2007 ein?
Läßt sich der Code noch erweitern, dass er die Zeilen A1 bis A2500 abarbeitet und die decodierten Buchstaben dann daneben in der Spalte B ausgibt?
Vielen Dank
Selter
Anzeige
AW: Unicode Kyrillisch
23.04.2010 07:08:02
Hajo_Zi
Hallo Selter,
mal ungetestet.
Option Explicit
Sub b()
Dim strKyr As String, i As Integer, teilen, result As String
Dim Loi As Long
Dim LoLetzte As Long
LoLetzte = IIf(IsEmpty(Cells(Rows.Count, 1)), Cells(Rows.Count, 1).End(xlUp).Row, Rows. _
Count)
For Loi = 1 To LoLetzte
teilen = Split(Replace(Cells(Loi, 1), ";", ""), "")
For i = 1 To UBound(teilen)
result = result & ChrW(teilen(i))
Next
Cells(Loi, 2) = result
Next Loi
End Sub


AW: Unicode Kyrillisch
23.04.2010 10:06:57
Selter
Hallo Hajo,
das sieht schon mal ganz gut aus. Allerdings werden die Übersetzungen in Spalte B immer länger. Der Code nimmt offenbar die vorherige Zelle und setzt die Übersetzung der aktuellen Zelle hinten dran:
1: Hallo
2: HalloDasisteinTest
3: HalloDasisteinTest123
Wenn es dann noch möglich wäre die Satzzeichen und echte Leerstellen ebenfalls darzustellen, wäre es perfekt ;)
Vielen Dank für Eure Hilfe!
Selter
Anzeige
AW: Unicode Kyrillisch
23.04.2010 10:09:38
Hajo_Zi
Hallo Selter,
ich habe da Teil Live geändert.
Eine Beispieldatei wäre schon mal nicht schlecht.
Ich kann mich aber erst am Nachmittag damit befassen.
Gruß Hajo
AW: Unicode Kyrillisch
23.04.2010 10:37:22
Hajo_Zi
Hallo Selter,
was mir sofort auffällt. Du hast viele ausgeschlosssen, da Du die Datei als 2007 hochgeladen hast. Es ist kein besonderes Problem für 2007, das geht auch in 2003 und davor.
Gruß Hajo
Anzeige
AW: Unicode Kyrillisch
23.04.2010 11:06:11
Hajo_Zi
Hallo Selter,
dazu mus was installiert sein. Jetzt konnte ich Sie auch öffnen.
Option Explicit
Sub b()
Dim strKyr As String, i As Integer, teilen, result As String
Dim Loi As Long
Dim LoLetzte As Long
LoLetzte = IIf(IsEmpty(Cells(Rows.Count, 1)), Cells(Rows.Count, 1).End(xlUp).Row, Rows. _
Count)
For Loi = 1 To LoLetzte
teilen = Split(Replace(Cells(Loi, 1), ";", ""), "")
For i = 1 To UBound(teilen)
result = result & ChrW(teilen(i))
Next
Cells(Loi, 2) = result
result = ""
Next Loi
End Sub

Gruß Hajo
Anzeige
AW: Unicode Kyrillisch
23.04.2010 12:59:14
Selter
Das sieht schon sehr gut aus, nur die Leerzeichen und Satzzeichen übernimmt er nicht :(
AW: Unicode Kyrillisch
23.04.2010 13:18:28
Selter
Das mit dem öffnen wusste ich nicht.
AW: Unicode Kyrillisch
23.04.2010 13:49:25
Hajo_Zi
Hallo Selter,
mit dem Beitrag kann ich nichts anfangen. Welche Leerzeichen? welche Satzzeichen? Die müssen doch im Unicode schon drin sein?
Gruß Hajo
AW: Unicode Kyrillisch
23.04.2010 14:07:54
Selter
In Zelle A1 steht z.B. an Position 57 ein "," gefolgt von " " und dann an Position 200 wieder ein " " (Leerzeichen).
Der Code verschluckt aber diese Zeichen, so dass die einzelnen Wörter als ein langes Wort erscheinen.
Anzeige
AW: Unicode Kyrillisch
23.04.2010 14:17:41
Hajo_Zi
Hallo Selter,
das wirsr Du nicht hinbekommen. Ich vermute durch split entfallen diese Leerstellen. Den Teil habe ich auch nicht erstellt.
Gruß Hajo
AW: Unicode Kyrillisch
23.04.2010 15:15:03
Selter
Sehr schade, dass es nicht geht :(
So kurz vor dem Ziel...
Trotzdem vielen Dank für Deine Mühe!
AW: Unicode Kyrillisch
23.04.2010 15:32:40
Hajo_Zi
Halo Selter,
die Lerstelle habe ich jetzt noch eingearbeitet.
Option Explicit
Sub b()
Dim strKyr As String, i As Integer, teilen, result As String
Dim Loi As Long
Dim LoLetzte As Long
LoLetzte = IIf(IsEmpty(Cells(Rows.Count, 1)), Cells(Rows.Count, 1).End(xlUp).Row, Rows. _
Count)
For Loi = 1 To LoLetzte
teilen = Split(Replace(Replace(Cells(Loi, 1), ";", ""), " ", ""), "")
For i = 1 To UBound(teilen)
If teilen(i) = "0020" Then
result = result & " "
Else
result = result & ChrW(teilen(i))
End If
Next
Cells(Loi, 2) = result
result = ""
Next Loi
End Sub
Gruß Hajo
Anzeige
AW: Unicode Kyrillisch
26.04.2010 18:50:52
Selter
Hallo Hajo,
vielen Dank, leider gibt es einen Laufzeitfehler 13 (Typen unverträglich).
Aber die Version von Anton funktioniert.
Nochmal gaaanz herzlichen Dank an Euch beide!
Selter
AW: Unicode Kyrillisch
23.04.2010 16:03:17
Anton
Hallo Selter,
noch eine Variante:
Code:

Sub b()
  Dim strKyr As String, i As Integer, teilen, result As String    
  Dim Loi As Long  
  Dim LoLetzte As Long  
  LoLetzte = IIf(IsEmpty(Cells(Rows.Count, 1)), Cells(Rows.Count, 1).End(xlUp).Row, Rows.Count)  
  For Loi = 1 To LoLetzte  
    teilen = Split(Replace(Cells(Loi, 1), ";", ""), "")
    For i = 1 To UBound(teilen)  
      result = result & ChrW(teilen(i))
      If InStr(1, teilen(i), ",") <> 0 Then result = result & ","  
      If InStr(1, teilen(i), " ") <> 0 Then result = result & " "  
    Next
    Cells(Loi, 2) = result
    result = ""
  Next Loi
End Sub  


mfg Anton
Anzeige
AW: Unicode Kyrillisch
26.04.2010 18:51:24
Selter
Super - vielen Dank!!!!

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige