Top-Themen

Aktuelle Themen (A bis Z)

Administrator.de FeedbackApache ServerAppleAssemblerAudioAusbildungAuslandBackupBasicBatch & ShellBenchmarksBibliotheken & ToolkitsBlogsCloud-DiensteClusterCMSCPU, RAM, MainboardsCSSC und C++DatenbankenDatenschutzDebianDigitiales FernsehenDNSDrucker und ScannerDSL, VDSLE-BooksE-BusinessE-MailEntwicklungErkennung und -AbwehrExchange ServerFestplatten, SSD, RaidFirewallFlatratesGoogle AndroidGrafikGrafikkarten & MonitoreGroupwareHardwareHosting & HousingHTMLHumor (lol)Hyper-VIconsIDE & EditorenInformationsdiensteInstallationInstant MessagingInternetInternet DomäneniOSISDN & AnaloganschlüsseiTunesJavaJavaScriptKiXtartKVMLAN, WAN, WirelessLinuxLinux DesktopLinux NetzwerkLinux ToolsLinux UserverwaltungLizenzierungMac OS XMicrosoftMicrosoft OfficeMikroTik RouterOSMonitoringMultimediaMultimedia & ZubehörNetzwerkeNetzwerkgrundlagenNetzwerkmanagementNetzwerkprotokolleNotebook & ZubehörNovell NetwareOff TopicOpenOffice, LibreOfficeOutlook & MailPapierkorbPascal und DelphiPeripheriegerätePerlPHPPythonRechtliche FragenRedHat, CentOS, FedoraRouter & RoutingSambaSAN, NAS, DASSchriftartenSchulung & TrainingSEOServerServer-HardwareSicherheitSicherheits-ToolsSicherheitsgrundlagenSolarisSonstige SystemeSoziale NetzwerkeSpeicherkartenStudentenjobs & PraktikumSuche ProjektpartnerSuseSwitche und HubsTipps & TricksTK-Netze & GeräteUbuntuUMTS, EDGE & GPRSUtilitiesVB for ApplicationsVerschlüsselung & ZertifikateVideo & StreamingViren und TrojanerVirtualisierungVisual StudioVmwareVoice over IPWebbrowserWebentwicklungWeiterbildungWindows 7Windows 8Windows 10Windows InstallationWindows MobileWindows NetzwerkWindows ServerWindows SystemdateienWindows ToolsWindows UpdateWindows UserverwaltungWindows VistaWindows XPXenserverXMLZusammenarbeit

Sonderzeichen in Excel per Makro entfernen

Mitglied: 16568

16568 (Level 4)

21.09.2006, aktualisiert 03.05.2009, 41543 Aufrufe, 8 Kommentare

Immer wieder werden nach einem Import div. Zeichen falsch angezeigt, oder es sind unerwünschte Zeichen hinzugekommen...
Hiermit kann man genau spezifizieren, welche wieder entfernt werden sollen.

Nachdem immer wieder mal Probleme mit Sonderzeichen in Tabellen auftreten, die man auch mit der "Ersetzen"-Funktion in Excel nicht so einfach los wird, hier ein kleines Tutorial.

Zuerst fügen wir in die aktuelle Excel-Arbeitsmappe ein Modul ein:

01.
Extras -> Makro -> Visual-Basic-Editor 
02.
oder 
03.
Alt+F11
Dann Rechtsklick auf

01.
VBAProject(Arbeitsmappenname.xls) -> Einfügen -> Modul
Jetzt folgenden Text in die angezeigte leere Fläche kopieren:

01.
Public Sub Zeichenloeschung() 
02.
Dim i As Long 
03.
Dim Start As String 
04.
Dim Ende As String 
05.
Dim Temp As String 
06.
Dim erlaubt As String 
07.
Start = Time ' <- hier wird eine Zeitmessung eingeleitet 
08.
erlaubt = "ABCDEFGHIJKLMNOPQRSTUVWXYZ1234567890!§$%&/()=?*#ß\ÄÖÜ@,-_:.+;<> " ' <- hier werden die Zeichen definiert, die erlaubt sind; 
09.
' Groß-/Kleinschreibung wird ignoriert 
10.
Application.ScreenUpdating = False ' Bildschirm-Aktualisierung wird hier deaktiviert; 
11.
' Ansonsten dauert der Vorgang noch ein wenig länger, da er sonst jede Änderung sofort anzeigt 
12.
    For Each C In Selection 
13.
        With C 
14.
            Temp = "" 
15.
            For i = 1 To Len(.Text) 
16.
                If InStr(1, erlaubt, Mid(.Text, i, 1), vbTextCompare) > 0 Then 
17.
                    Temp = Temp & Mid(.Text, i, 1) 
18.
                End If 
19.
            Next i 
20.
            .Value = Temp 
21.
        End With 
22.
        Next C 
23.
Application.ScreenUpdating = True ' Jetzt wird die Anzeige wieder aktualisiert 
24.
Ende = Time ' <- hier wird die Zeitmessung gestoppt 
25.
MsgBox "Start: " & Start & vbCrLf & "Ende: " & Ende, vbInformation, "...fertig!" ' hier wird angezeigt, wie lange der ganze Vorgang gedauert hat 
26.
End Sub

Die wichtigsten Stellen sind kommentiert.

Jetzt nur noch einen Bereich markieren, der bereinigt werden soll, und dann

01.
Extras -> Makro -> Makros... 
02.
oder 
03.
Alt+F8
Dann das Makro Zeichenloeschung auswählen...


Bei Fragen oder Anregungen, her damit


Lonesome Walker
Mitglied: Marlu852
01.03.2007 um 12:11 Uhr
Hallo Lonesome Walker,

ich nochmal, habe mein Problem von gestern mit den Sonderzeichen, die ich in Umlaute getauscht haben möchte weitestgehend gelöst. es handelt sich um Unicodes, die ich durch folgendes austauschen kann:

Cells.Replace What:=StrConv("„%", vbFromUnicode), Replacement:="Ü", LookAt:=xlPart, SearchOrder _
:=xlByRows, MatchCase:=False, SearchFormat:=True, ReplaceFormat:=False

.... usw.

Das funktioniert auch bei allen Sonderzeichen, außer dem Ä (Großbuchstaben), weil das den Code " %" hat. Liegt es am Leerzeichen innerhalb des Codes? Jetzt kam mir die Idee, dass ich ja sonst, wenn ich nicht dahinter komme, wie er mir das Zeichen inkl. Leerzeichen erkennt, Deine Anweisung zum Löschen aller Sonderzeichen dahingehend abwandel, dass er mir, nachdem er alles anderen ausgetauscht hat, das verbleibende anstelle zu löschen in ein Ä umwandelt. Leider bin ich auf dem Gebiet nicht fit genug, welche Stelle müßte ich in Deinem Makro ändern, um das zu erreichen, dass er nicht alle Sonderzeichen löscht, sondern in ein Ä umwandelt.

Vielen Dank im Voraus!
Marlu
Bitte warten ..
Mitglied: 16568
01.03.2007 um 14:10 Uhr
Bevor ich hier meine Zeit vergeude ...

Sind das sensible Daten?
Kannst Du mir eine kopie zukommen lassen?


Lonesome Walker
Bitte warten ..
Mitglied: Marlu852
01.03.2007 um 14:39 Uhr
Könnte sie abwandeln und dann zusenden? Wohin muß ich sie schicken?
Bitte warten ..
Mitglied: Marlu852
01.03.2007 um 14:40 Uhr
Könnte sie abwandeln und dann zusenden. Wohin muß ich sie schicken?
Bitte warten ..
Mitglied: Marlu852
01.03.2007 um 14:40 Uhr
Könnte sie abändern und dann zusenden. Wohin muß ich sie schicken?
Bitte warten ..
Mitglied: Bensefels
18.11.2011 um 11:41 Uhr
Lieber Lonseome Walker,
das Makro ist bereits sehr praktisch. Vielen Dank dafür!

Wie müsste ich das Makro anpassen, damit es, anstatt die Sonderzeichen direkt zu löschen, die Zellen in denen Sonderzeichen vorhanden sind farbig markiert?
Vielen Dank im Voraus
Bensefels
Bitte warten ..
Mitglied: hlynlc
17.07.2013 um 17:16 Uhr
Hallo,

ich habe gerade ein Makro mit oben angegebenem Code erstellt und in meiner Excel datei laufen lassen.. Funktioniert prima!! Vielen Dank erstmal hierzu. Bis auf eine Sache, die bei mir der Fall ist. Die Excel Liste ist ein Download aus einer HTML Datei, in der daher sowas wie <div> vorkommt.. Nun, beim Anwenden des Makros entfernt er zwar die Zeichen <> , aber das Wort div nicht Da ja die daraus bestehenden Buchstaben erlaubt sind..

Gibt es einen Weg, in der ich spezifisch angeben kann, dass er z. B <div> , <strong>, etc.. ersetzen soll?


Vielen lieben Dank!!!

Liebe Grüße
Hülya
Bitte warten ..
Mitglied: Winkler84
04.03.2018 um 16:52 Uhr
Hallo Zusammen,

sehr sehr geile Sache dieses Teil!

Ich bin leider total unerfahren in Sachen VBA-Schreiben, erkenne aber den Nutzen und finde es so mega spassig damit zu arbeiten.

Kann mir einer Sagen, was ich machen muss, wodurch das gelöschte Sonderzeichen durch ein Leerzeichen ersetzt wird?!


Danke und Gruß

Winkler84
Bitte warten ..
Ähnliche Inhalte
Microsoft Office
Dezember-Update blockiert Excel-Makro
Tipp von 10000ragaMicrosoft Office8 Kommentare

Hallo, haben Probleme mit Excel Makros gehabt. ( Laufzeitfehler 438 bei uns) ( Excel 2010) Problem Behebung Quelle ( ...

Windows 10
Windows 10 - OneNote APP entfernen
Tipp von 114757Windows 1012 Kommentare

Ihr habt bereits MS Office mit dem großen Bruder OneNote nachinstalliert und braucht jetzt die vorinstallierte OneNote Modern APP ...

VB for Applications
ICS Import zu Excel
Tipp von PeterleBVB for Applications3 Kommentare

Falls es jemanden interessiert. Auf Grundlage einer gefundenen Anleitung habe ich mal ein Makro (VBA) für Excel angepasst, welches ...

Windows 10

Get Windows 10 App dauerhaft entfernen (KB3035583)

Anleitung von FrankWindows 1045 Kommentare

Einige User haben mich gefragt, wie man denn die "Get Windows 10"-App dauerhaft wieder vom Rechner entfernt. Mit Hilfe ...

Neue Wissensbeiträge
Peripheriegeräte
Unterschrank für HP Drucker
Tipp von NixVerstehen vor 1 TagPeripheriegeräte2 Kommentare

Als kurzen Freitags-Tipp möchte ich gerne meinen neuen Drucker-Unterschrank Modell Amica KS 15423W vorstellen. Das Gerät eignet sich hervorragend ...

Windows 10
Windows 10 - Probleme mit Point-And-Print
Tipp von emeriks vor 2 TagenWindows 103 Kommentare

Hi, wir kämpfen z.Z. mit einigen Druckertreibern, welche unter Win10 beim Verbinden eines Druckers von Printserver mit dem Dialog ...

Windows 10

Windows 10 1803 - Ihr Roamingbenutzerprofil wurde nicht vollständig synchronisiert

Anleitung von Deepsys vor 2 TagenWindows 101 Kommentar

Bei allen Windows 10 1803 PCs traten Probleme mit den Servergespeicherten Profilen auf. Das Abmelden dauerte sehr lange und ...

Exchange Server
Exchange - Fehler mit 2018-07 Sicherheitsupdate
Tipp von ArnoNymous vor 4 TagenExchange Server7 Kommentare

Hallo, es gibt mal wieder Freude mit den MS-Updates. KB4338814 führt dazu, dass der Exchange keine Mails mehr zustellt. ...

Heiß diskutierte Inhalte
Humor (lol)
Freitagsfrage: Was tun, wenn der Admin der DAU ist?
gelöst Frage von VoiperHumor (lol)32 Kommentare

Moin Zusammen, Eine nicht ganz ernst gemeinte Frage an die Außendienstler unter uns. Zusammenfassung: Ein Inhouse Admin ruft bei ...

Windows Netzwerk
LTE Modul - Kein Internet trotz Verbindung
Frage von killtecWindows Netzwerk19 Kommentare

Hallo, ich habe hier ein Dell 7390 2-in-1 mit W10 Pro wo ich nachträglich eine LTE-Karte (Original Dell DW5811e ...

LAN, WAN, Wireless
HP Probook 470 G4 - abbrechende Downloads
Frage von joern1LAN, WAN, Wireless19 Kommentare

Folgendes Problem, für einen Tipp wäre ich dankbar: Bei WLAN-Verbindung zum Internet (nicht LAN) kommt es bei etwas größeren ...

Router & Routing
Routing Problem mit Kaskade FritzBox und pfsense zugeriff nur von der firewall auf die clients und 0.0.0.0
Frage von ukl1967Router & Routing18 Kommentare

Hallo, ich habe ein an sich triviales Problem elches ich allerdings nicht gelöst bekomme. NAS 10.5.10.53 Mein Netz baut ...