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

chinesiches zeichen per VBA aus Text entfernen

Forumthread: chinesiches zeichen per VBA aus Text entfernen

chinesiches zeichen per VBA aus Text entfernen
Franz
Hallo Kollegen,
kann mit jemand sagen ob es möglich ist per VBA aus mehreren Zellen bestimmte Zeichen zu löschen.
Beispiel:
ich habe artikelbeschreibungen die wie folgt aussehen
右阀座C12045.6.1.25
压力表安装板BCW46D.6.10-4
管夹体SP322-PP DP-AS
测压管HFJ2-P3-3-P-800 Stauff
压力表NG063 G1/4B 40MPa Stauff
胶管4SH20-DKOS(16)-DKOS45(16)-450Q/SY1102
胶管2SN25-DKOL-DKOL90-950Q/SY1102
nun möchte ich mir die Arbeit sparen bei mehr als 5000 zeilen die Chinesichen zeíchen per hand zu entfernen.
das Ergebnis müßte dann so aussehen
C12045.6.1.25
BCW46D.6.10-4
usw.
vielen Dank für eine Antwort.
LG
Franzel
Anzeige

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

Betreff
Benutzer
Anzeige
Wechseln()
09.09.2011 07:55:42
Matthias
Hallo
in A1
右阀座C12045.6.1.25
in B1
=WECHSELN(A1;"右阀座";"")
Gruß Matthias
noch eine Variante ...
09.09.2011 08:24:07
Matthias
Hallo Franz
Sieht ja so aus, als stünden die chinesischen Zeichen immer links.
Dann könntest Du per Hilfsspalten die Zeichen austauschen.
Hier mal ein Bsp.
https://www.herber.de/bbs/user/76532.xls
Die Formeln aus Spalte C musst Du nur eben soweit nach rechts ziehen, bis keine 63 mehr erscheint.
Gruß Matthias
Anzeige
AW: chinesiches zeichen per VBA aus Text entfernen
09.09.2011 08:59:36
bst
Morgen auch,
in VBA könntest Du das z.B. so machen.
HTH, Bernd
--
Option Explicit

Sub x()
    Dim i As Long
    
    For i = 1 To IIf(Len(Cells(Rows.Count, 1)), Rows.Count, Cells(Rows.Count, 1).End(xlUp).Row)
        Cells(i, 2).Value = OnlyAscii(Cells(i, 1).Value)
    Next
End Sub

Function OnlyAscii(ByVal s As String) As String
    Dim i As Long, c As String
    
    For i = 1 To Len(s)
        c = Mid(s, i, 1)
        If AscW(c) > 0 And AscW(c) < 256 Then OnlyAscii = OnlyAscii & c
    Next
End Function


Anzeige
AW: chinesiches zeichen per VBA aus Text entfernen
09.09.2011 09:38:15
Franz
Hallo an alle :-)
alle Varianten Funktionieren hervoragend.
Aber die VBA Variante ist die für mich am Praktikabelste.
Also danke euche allen.
Ich schicke Euch eine Virtuelle Flasche Bier. Igr habt mir mein WE gerettet.
gruß
Franzel
;
Anzeige
Anzeige

Infobox / Tutorial

Chinesische Zeichen per VBA aus Text entfernen


Schritt-für-Schritt-Anleitung

Um chinesische Zeichen aus mehreren Zellen in Excel per VBA zu entfernen, gehe wie folgt vor:

  1. Öffne deine Excel-Datei und drücke ALT + F11, um den Visual Basic for Applications (VBA)-Editor zu öffnen.

  2. Klicke auf Einfügen > Modul, um ein neues Modul zu erstellen.

  3. Füge den folgenden Code in das Modul ein:

    Option Explicit
    
    Sub EntferneChinesischeZeichen()
       Dim i As Long
       Dim letzteZeile As Long
    
       letzteZeile = Cells(Rows.Count, 1).End(xlUp).Row ' Bestimme die letzte Zeile in Spalte A
    
       For i = 1 To letzteZeile
           Cells(i, 2).Value = OnlyAscii(Cells(i, 1).Value) ' Entferne die chinesischen Zeichen und schreibe in Spalte B
       Next i
    End Sub
    
    Function OnlyAscii(ByVal s As String) As String
       Dim i As Long, c As String
       For i = 1 To Len(s)
           c = Mid(s, i, 1)
           If AscW(c) > 0 And AscW(c) < 256 Then OnlyAscii = OnlyAscii & c ' Füge nur ASCII-Zeichen hinzu
       Next i
    End Function
  4. Schließe den VBA-Editor und kehre zu Excel zurück.

  5. Wähle die Zelle in Spalte A, die die Zeichen enthält, die du entfernen möchtest.

  6. Drücke ALT + F8, wähle EntferneChinesischeZeichen aus und klicke auf Ausführen.

Das Skript entfernt die chinesischen Zeichen und gibt das Ergebnis in Spalte B aus.


Häufige Fehler und Lösungen

  • Fehler: „Laufzeitfehler 9: Index außerhalb des gültigen Bereichs“

    • Lösung: Stelle sicher, dass du die richtige Anzahl von Zeilen in der Spalte hast, die du bearbeitest. Überprüfe, ob die Zellen, die du bearbeitest, tatsächlich Daten enthalten.
  • Fehler: „Typen unverträglich“

    • Lösung: Achte darauf, dass die Zellen, die du bearbeitest, Text und keine anderen Datentypen enthalten. Du kannst die Daten mit =TEXT(A1, "0") in einen Text umwandeln.

Alternative Methoden

Falls du keine VBA-Programmierung nutzen möchtest, kannst du auch die Excel-Funktion WECHSELN verwenden:

  1. Setze in Spalte B folgende Formel ein:
    =WECHSELN(A1; "右阀座"; "")
  2. Ziehe die Formel nach unten, um sie auf weitere Zeilen anzuwenden.

Diese Methode erfordert jedoch mehr manuelle Anpassungen, wenn du viele verschiedene Zeichen entfernen möchtest.


Praktische Beispiele

Angenommen, du hast folgende Daten in Spalte A:

A B
右阀座C12045.6.1.25 C12045.6.1.25
压力表安装板BCW46D.6.10-4 BCW46D.6.10-4

Mit dem VBA-Skript oder der WECHSELN-Funktion kannst du die chinesischen Zeichen erfolgreich entfernen und die gewünschten Ergebnisse in Spalte B erhalten.


Tipps für Profis

  • Wenn du häufig mit chinesischen Zeichen arbeitest, kannst du das VBA-Skript anpassen, um mehrere Zeichen gleichzeitig zu entfernen, indem du die Funktion OnlyAscii erweiterst.
  • Überlege, eine benutzerdefinierte Funktion zu erstellen, die du dann als Formel in Excel verwenden kannst, um den Text zu bereinigen.

FAQ: Häufige Fragen

1. Kann ich das Skript für andere Zeichen verwenden?
Ja, du kannst die Bedingung in der OnlyAscii-Funktion anpassen, um andere Zeichen zu entfernen, die du nicht benötigst.

2. Funktioniert das auch in Excel Online?
Leider unterstützt Excel Online keine VBA-Makros. Du musst die Desktop-Version von Excel verwenden.

3. Wie kann ich Dollarzeichen oder andere spezielle Zeichen entfernen?
Du kannst das VBA-Skript modifizieren, um spezifische Zeichen wie Dollarzeichen, Minuszeichen oder Rautenzeichen zu entfernen, indem du die OnlyAscii-Funktion anpasst.

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