Supportnet Computer Supportnet Games Supportnet Kochen Explipedia
Login: guestBesucher online: 219
Supportnet Computerforum
SUPPORT
Home
Forum
Tipps & Infos
Blitz Angebote
Members
Hilfe
Video

TOP THEMEN
SSD Test
Alles über SSDs

Android Tipps
iPad Tipps
Google Tipps
Windows 8 FAQ
Windows 7 FAQ
E-Mail FAQ
Netzwerk FAQ
Festplatten FAQ
Datenrettung FAQ
Bildbearbeitung FAQ

Top iPhone Apps
Computer Einsteiger
Die 5 besten...
Explipedia
Themen
Direktlinks

Neue Einträge
News einsenden News einschicken
Tipps einsenden Tipp einschicken

SN-LINKS

Suche
Befreundete Seiten
Top Seiten

Supportnet/Forum/Tabellenkalkulation



Supportnet/Forum/Tabellenkalkulation
von GerdB vom 09.07.2017, 15:46 Diese Seite den Supportnet Favoriten hinzufügen  Mißbrauch, Beleidigungen und Blödsinn den Moderatoren melden


baltische Zeichen mit VBA-Makro in deutsches Alphabet umwandeln

 (234 Hits)

Hallo,
ich kopiere regelmaessig aus Webseiten Aufstellungen von Fußballspielen in eine Excel-Datei (Excel 2010). Die dann dort aufbereiteten Daten moechte ich in einer anderen Webseite weiterverarbeiten. Nun gibt es hier aber eine Menge Spieler, die aus dem früheren Ostblock-Staaten, Skandinavien oder Westeuropa kommen. Und die haben im Namen jede Menge Sonderzeichen wie "á“, „č“, „ş“ und viele mehr. Auf meiner Webseite erscheinen diese Zeichen jedoch als Fragezeichen.
Ich möchte deshalb diese Zeichen mit einem Makro in das deutsche Alphabet (a, c, s, usw). Aber mein Makro, dass sonst in einfachen Fällen hilft, funktioniert hier nicht.

Selection.Replace What:="+á", Replacement:="a", LookAt:=xlPart, _ SearchOrder:=xlByRows, MatchCase:=False, SearchFormat:=False, _ ReplaceFormat:=False

Entweder werden beim Durchlauf die Zeichen wie „á“ ignoriert und nicht umgewandelt. Oder ich kann die Buchstaben (bei obigen Beispiel „č“ und „ş“) lassen sich überhaupt nicht in den Editor schreiben, sondern werden auch hier nur als Fragezeichen abgebildet.
Was mache ich verkehrt?


Antwort schreiben 50 Bonuspunkte

Antworten...
Antwort 1 von Nighty__ vom 09.07.2017, 17:46 Mißbrauch, Beleidigungen und Blödsinn den Moderatoren melden

Hallo GerdB .-)

Vba Kenntnisse vorrausgesetz

Eine erfundene Umwandlung geht z.b.
Mit zwei angelegten Spalten oder im Code ein Array

Ländercode bezogen
Erste Spalte a-z
Zweite Spalte Parallel zur ersten mit den zu ersetzenden Zeichen

Mit einem Array die Wörter aufnehmen und beide Zeichenspalten
in einer schleife dann Parallel tauschen

Auf deine Frage!
Stichwort > Steuerzeichen

Gruß Nighty


Antwort noch nicht bewertet
Antwort 2 von Nighty__ vom 09.07.2017, 18:18 Mißbrauch, Beleidigungen und Blödsinn den Moderatoren melden

Hallo GerdB

Erstell eine Excel Datei
erste Spalte mit deinen Sonderzeichen
zweite spalte parallel mit den zu ersetzenden Zeichen

Im xls Format an meine emailadresse
oberley@t-online.de

Dann kann ich mich probieren

Gruß Nighty


Antwort noch nicht bewertet
Antwort 3 von GerdB vom 09.07.2017, 18:28 Mißbrauch, Beleidigungen und Blödsinn den Moderatoren melden

Hallo Nighty,
danke für die angebotene Hilfe, ich schick Dir gleich eine Tabelle.
Gruß
Gerd


Antwort noch nicht bewertet Als gute Antwort bewerten
Antwort 4 von nighty__ vom 13.07.2017, 15:54 Mißbrauch, Beleidigungen und Blödsinn den Moderatoren melden

Hallo Community .-)

Folgende Lösung hab ich erstellt

Gruß Nighty

In eine Leere Mappe das Makro einfügen

Spalte A ab Zeile 2 die Sonderzeichen verschiedener Länder
Spalte B ab Zeile 2 die zu ersetzenden Zeichen

Makro starten
Datei mit doppelclick auswählen
Betreff alle Worksheets der Mappe!
Es werde alle Steuerzeichen gelöscht
Dann die Liste mit den Sonderzeichen abgearbeitet und die Zeichen ersetzt
Datei wird gespeichert
Fertig

Sub DeleteReplace()
    Call EventsOff
    Dim rngZelle As Range
    Dim strZeichen As String
    Dim WksIndex As Integer
    Dim lngI As Long, ArrIndex As Long
    Dim Sliste As Variant, GetMappe As Variant, a As Validation
    Dim booZelleMitSteuerzeichen As Boolean
    Sliste = Range("A2:B" & ActiveSheet.Cells(Rows.Count, 1).End(xlUp).Row)
    GetMappe = Application.GetOpenFilename("Xls Files (*.xls), *.xls")
    Workbooks.Open Filename:="" & GetMappe
    For WksIndex = 1 To Worksheets.Count
        Worksheets(WksIndex).Activate
        For Each rngZelle In Worksheets(WksIndex).UsedRange.Cells
            For lngI = 1 To Len(rngZelle.Value)
                strZeichen = Mid(rngZelle.Value, lngI, 1)
                Select Case Asc(strZeichen)
                Case 1 To 31, 127, 129, 141, 143, 144, 157
                    If Not (rngZelle.HasFormula) Then
                        rngZelle.Value = Application.WorksheetFunction.Replace(rngZelle.Value, lngI, 1, Chr(9))
                        booZelleMitSteuerzeichen = True
                    End If
                Case 160
                    If Not (rngZelle.HasFormula) Then
                        rngZelle.Value = Application.WorksheetFunction.Replace(rngZelle.Value, lngI, 1, Chr(32))
                    End If
                End Select
            Next lngI
            If booZelleMitSteuerzeichen And Not (rngZelle.HasFormula) Then
                rngZelle.Value = Application.WorksheetFunction.Clean(rngZelle.Value)
                booZelleMitSteuerzeichen = False
            End If
        Next rngZelle
        For ArrIndex = LBound(Sliste) To UBound(Sliste)
            Cells.Replace What:=Sliste(ArrIndex, 1), Replacement:=Sliste(ArrIndex, 2), LookAt:=xlPart, SearchOrder:=xlByRows, MatchCase:=False
        Next ArrIndex
    Next WksIndex
    Workbooks(Mid(GetMappe, InStrRev(GetMappe, "\") + 1, Len(GetMappe))).Close SaveChanges:=True
    Call EventsOn
End Sub

Public Sub EventsOff()
With Application
.ScreenUpdating = False
.EnableEvents = False
.Calculation = xlCalculationManual
End With
End Sub

Public Sub EventsOn()
    With Application
        .ScreenUpdating = True
        .EnableEvents = True
        .Calculation = xlCalculationAutomatic
    End With
End Sub


Antwort noch nicht bewertet
Antwort 5 von nighty__ vom 13.07.2017, 16:04 Mißbrauch, Beleidigungen und Blödsinn den Moderatoren melden

Hallo Community .-)

Steuerzeichen in Formeln bleiben unangetastet!
Ansonsten alles Dynamisch aufgebaut

Gruß Nighty


Antwort noch nicht bewertet




Antwort schreiben
    Bitte einen 'Nickname' wählen.
Nickname:*
    (eMail-Adresse wird nicht veröffentlicht.)
eMail:
Nachricht: Ich möchte bei Antworten benachrichtigt werden.
    Hilfe zur Beitragsformatierung gibts [hier]
                   
Antwort:*
  Die Nutzungsbedingungen habe ich gelesen und akzeptiert.

MACHEN SIE IHRE WEBSITE ATTRAKTIVER
Sie haben eine eigene Website und wollen Ihre Besucher auf den Supportnet-Service aufmerksam machen? Kopieren Sie einfach den Quellcode in Ihre Seite und jeder Besucher Ihrer Seite kann direkt auf die Supportnet-Datenbank zugreifen.

My Supportnet


SUCHE

Gruppen im Forum
Betriebsysteme
Software
Hardware
Netzwerk
Programmierung
Sonstiges

Impressum © 1997-2015 SupportNet
Version: supportware 1.8.230E / 18.10.2010, Startzeit:Fri Sep 22 13:37:38 2017