Supportnet Computer
Planet of Tech

Supportnet / Forum / Tabellenkalkulation

Excel - Sonderzeichen löschen





Frage

Hallo :) Icn möchte bei einer Excel-Tabelle alle Zellen von Sonderzeichen befreien. Im Netz habe ich eine Anleitung gefunden: =SÄUBERN(A1) Was muss ich eingeben, dass diese Funktion nicht nur Zelle A1, sondern gleich alle Zellen korrigiert und noch -anstelle des Sonderzeichens- ein Komma mit Leerzeichen einfügt? Danke!

Antwort 1 von Saarbauer

Hallo,
wird so wie du es dir vorgestellt hast nicht funktionieren.

Zitat:
=SÄUBERN(A1)
löscht alle nicht druckbaren Zeichen aus dem Text der Zelle A1

Sonderzeichen sind u.U auch druckbare Zeichen.

Ich würde mit der Funktion "Ersetzen" arbeiten.
Da du bei dem Sonderzeichen nicht unbedingt weisst welches Zeichen gemeint ist, da nur ein Rechteck dargestellt wird, würde ich das Zeichen makieren und mit "STRG"+"c" kopieren. Anschleissend bei "Ersetzen""Suchen nach" mit "STRG"+"v" das zeichen eingeben und bei "Ersetzen durch" Komma mit Leerzeichen einfügen.

Gruß

Helmut

Antwort 2 von hugo9

Hallo Helmut

Leider erkennt die Ersetzen-Funktion die Sonderzeichen (Kästchen) nicht.

Es wäre zu einfach ;)

Antwort 3 von Saarbauer

Hallo,

du musst die Sonderzeichen reinkopieren.

habe ich schon öfters gemacht, hat bei mir bisher immer funktioniert.

Zitat:
Zeichen makieren und mit "STRG"+"c" kopieren. Anschliessend bei "Ersetzen""Suchen nach" mit "STRG"+"v" das Zeichen eingeben und bei "Ersetzen durch" Komma mit Leerzeichen einfügen


Gruß

Helmut

Antwort 4 von hugo9

Ne, geht nicht.

Vielleicht liegt´s auch an der Version, Excel 2000

Vielen Dank trotzdem! :)

Antwort 5 von nighty

hi all :)

ist auch einfach :)

gruss nighty

automatisches abtasten von zeilen/spaltenende,bei bedarf durch bereichsangaben ersetzen

anstatt des x dein zeichen kopieren und dort einfuegen oder asci auslesen

Sub suchen()
Dim zaehler0 As Long
Dim zaehler1 As Integer
Dim zaehler3 As Integer
For zaehler0 = 1 To ActiveSheet.UsedRange.SpecialCells(xlCellTypeLastCell).Row + 1
For zaehler1 = 1 To ActiveSheet.UsedRange.SpecialCells(xlCellTypeLastCell).Column
For zaehler3 = 1 To Len(Cells(zaehler0, zaehler1))
If Mid(Cells(zaehler0, zaehler1), zaehler3, 1) = "x" Then
If Mid(Cells(zaehler0, zaehler1), zaehler3, 1) = "x" And zaehler3 = 1 Then

rem hier dein komma mit leerzeichen

Cells(zaehler0, zaehler1) = ", " & Mid(Cells(zaehler0, zaehler1), 2, Len(Cells(zaehler0, zaehler1)) - zaehler3)
Exit For
Else

rem hier dein komma mit leerzeichen

Cells(zaehler0, zaehler1) = Mid(Cells(zaehler0, zaehler1), 1, zaehler3 - 1) & ", " & Mid(Cells(zaehler0, zaehler1), zaehler3 + 1, Len(Cells(zaehler0, zaehler1)))
Exit For
End If
End If
Next zaehler3
Next zaehler1
Next zaehler0
End Sub

Antwort 6 von hugo9

Danke nighty, aber für mich wird der Bahnhof nur noch grösser.

Antwort 7 von nighty

hi hugo :)

teste bei einer vorher gemachten kopie der datei

1) alt/f11 oeffnet den vbeditor
2) dort einfuegen/modul anwaehlen
3) dort den code reinkopieren

jetzt muesste dein sonderzeichen gegen das x in dem code mit kopieren/einfuegen ausgetauscht werden

4) menue auswaehlen
auswaehlen/subuser/form ausfuehren

tataaa alle sonder zeichen weg und wurden gegen ein komme mit anschliessenden leerzeichen getauscht

gruss nighty

Antwort 8 von hugo9

Danke!

Aber ich weiss ja nicht um was für ein Zeichen es sich handelt, und Excel kann und will es nicht kopieren....

Ich mache es jetzt mit WordPad. Da geht´s, wenn auch mit Umwegen verbunden.

Antwort 9 von nighty

hi all :)

dann halt andersrum :))

gruss nighty

gestaltet den text ein wenig neu und liest nur zeichen ein von asci 33 bis 126 bzw.
!"#$%&´()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklmnopqrstuvwxyz{|}~

Sub suchen()
Dim zaehler0 As Long
Dim zaehler1 As Integer
Dim zaehler3 As Integer
For zaehler0 = 1 To ActiveSheet.UsedRange.SpecialCells(xlCellTypeLastCell).Row + 1
For zaehler1 = 1 To ActiveSheet.UsedRange.SpecialCells(xlCellTypeLastCell).Column
For zaehler3 = 1 To Len(Cells(zaehler0, zaehler1))
If Asc(Mid(Cells(zaehler0, zaehler1), zaehler3, 1)) > 32 And Asc(Mid(Cells(zaehler0, zaehler1), zaehler3, 1)) < 127 Then
neu = neu & Chr$(Asc(Mid(Cells(zaehler0, zaehler1), zaehler3, 1)))
End If
If zaehler3 = Len(Cells(zaehler0, zaehler1)) Then
Cells(zaehler0, zaehler1) = neu
neu = ""
End If
Next zaehler3
Next zaehler1
Next zaehler0
End Sub

Ich möchte kostenlos eine Frage an die Mitglieder stellen:


Ähnliche Themen:


Suche in allen vorhandenen Beiträgen: