Live-Forum - Die aktuellen Beiträge
Anzeige
Archiv - Navigation
1696to1700
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

kyrillischen Text auslesen und im Code verwenden

kyrillischen Text auslesen und im Code verwenden
25.06.2019 09:10:46
Dave
Hallo zusammen,
ich habe eine Tabelle, in die per Copy&Paste kyrillische Text eingefügt werden. Per Klick auf eine Schaltfläche will ich die Spalte nach dem aktuell gewähltem Feld filtern. Der Code funktioniert in einer anderen Tabelle problemlos.
Hier in der kyrillischen Datei aber nicht, weil ich beim Abfragen des Selection-Values nur eine Menge Fragezeichen "?" erhalte, für jedes kyrillische Zeichen eins. Weiterverarbeitung ist da natürlich unmöglich.
Ich vermute, ich muss dem irgendwie vorher "sagen", dass der Text eine andere Codierung hat, weiß aber nicht wie.
Hier vorsichtshalber noch der Code (obwohl der prinzipiell wie gesagt in Ordnung ist):
Private Sub Filter_an_Click()
Dim Filter As String, Filter_Spalte As Byte
With ActiveSheet
If Selection.Count > 1 Then
MsgBox "nur eine Zelle auswählen"
ElseIf Selection.Value = "" Then
MsgBox "Gewählte Zelle ist leer"
ElseIf Selection.Column  7 Then
MsgBox "Funktion nur für Spalten D bis G möglich"
Else
Filter = Selection.Value
Filter_Spalte = Selection.Column
If Not .AutoFilterMode Then .Range("$A$3:$N$2000").AutoFilter Field:=Filter_Spalte,  _
Criteria1:=Filter
End If
End With
End Sub
Danke vorab.
Gruß
Dave

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

Betreff
Datum
Anwender
Anzeige
AW: kyrillischen Text auslesen und im Code verwenden
25.06.2019 09:55:40
Daniel
Hi
könnte sein, dass VBA da mit den wahrscheinlich im Unicode-Bereich liegenden Zeichen ein Problem hat.
wenn niemand eine bessere Lösung findet, probiere mal folgenden Workaround zum Filtern:
Spalte O sollte frei sein und wird zur Tabelle hinzugefügt.

Else
Range("O4:O2000").formulaR1C1 = "=RC" & Selection.Column & "=" & selection.address(1, 1,  _
xlr1c1)
Range("A3:O2000").Autofilter field:=15, criteria1:=true
End IF

die anzuzeigenden Zellen werden hier per Formel mit WAHR gekennzeichnet.
die Idee hierbei ist, dass VBA nicht mit irgendwelchen "komischen" Zeichen arbeiten muss, sondern das Handling der kyrillischen Zeichen vollständig in Excel bleibt, welches damit weniger Probleme hat.
Gruß Daniel
Anzeige
AW: kyrillischen Text auslesen und im Code verwenden
25.06.2019 11:36:36
Dave
Hallo Daniel,
danke. Das funktioniert zum Teil. Formel wird korrekt geschrieben und der Filter auf die Tabelle gelegt, allerdings wird der Filterwert "True" nicht gesetzt. Nach der Ausführung ist die Tabelle gefiltert und beide Bedingungen WAHR/FALSCH sind nicht angehakt.
Anscheinend nimmt er aus der Zeile
Range("A3:O2000").Autofilter field:=15, criteria1:=true

das "...criteria1:=true" nicht an, weiß aber nicht, was daran falsch sein könnte.
Noch eine Idee?
Gruß
David
AW: kyrillischen Text auslesen und im Code verwenden
27.06.2019 19:14:29
Piet
Hallo David
criteria1:=true - Probier es bitte mal so: criteria1:=Wahr - Sollt es damit klappen bitte nicht fragen warum?
Kann z.B. an der landeseinstellung liegen. Bei mir verlangt er criteria1:=Doğru (Türkischer Laptop 2. Hand)
mfg Piet
Anzeige
AW: kyrillischen Text auslesen und im Code verwenden
25.06.2019 11:42:53
Dave
Hallo Daniel,
ich konnte deinen Input anpassen, jetzt geht es erst mal.
Hab die Formel erweitert, so dass ein Zahlenwert entsteht (0/1), damit funktioniert dann die Filterung:
Range("O4:O2000").FormulaR1C1 = "=--(RC" & Selection.Column & "=" & Selection.Address(1, 1,  _
xlR1C1) & ")"
Range("A3:O2000").AutoFilter field:=15, Criteria1:=1
Da das nur einen Workaround darstellt und keine eigentliche Lösung des Problems ist, lass ich den Thread mal noch als offen stehen.
Danke und Gruß
David

286 Forumthreads zu ähnlichen Themen

Anzeige
Anzeige
Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige