Nicht druckbare Zeichen intelligent entfernen (Microsoft Excel)
Wenn Sie mit Dateien arbeiten, die aus einer Nicht-Excel-Quelle stammen, kann es vorkommen, dass Ihre Zellen Zeichen enthalten, die Excel nicht richtig anzeigen kann. Beispielsweise können Sie eine durch Kommas getrennte Textdatei von der Buchhaltungssoftware Ihres Unternehmens generieren lassen und die Datei in Excel laden. In einigen Zellen stellen Sie möglicherweise fest, dass kleine Kästchen vorhanden sind. Diese stehen für nicht druckbare Zeichen. Excel zeigt die kleinen Kästchen an, damit Sie wissen, dass das Zeichen vorhanden ist, obwohl es nicht angezeigt oder gedruckt werden kann.
Um diese Zeichen zu entfernen, versuchen Sie, die Funktion Suchen und Ersetzen von Excel zu verwenden. Versuchen Sie diese Schritte:
-
Markieren Sie in der Zelle, die eines der kleinen Kästchen enthält, das Kästchen und drücken Sie Strg + C. Dadurch wird das Zeichen in die Zwischenablage kopiert.
-
Wählen Sie im Menü Bearbeiten die Option Ersetzen oder drücken Sie Strg + H. Excel zeigt die Registerkarte Ersetzen des Dialogfelds Suchen und Ersetzen an. (Siehe Abbildung 1.)
-
Drücken Sie mit der Einfügemarke im Feld Suchen nach Strg + V. Dadurch wird der Inhalt der Zwischenablage (das fehlerhafte Zeichen) in das Feld Suchen nach eingefügt. Das Zeichen sieht höchstwahrscheinlich nicht wie das kleine Feld aus, das Sie in Schritt 1 ausgewählt und kopiert haben.
-
Wenn in Schritt 3 nichts eingefügt wurde, schließen Sie das Dialogfeld und wiederholen Sie die Schritte. Wenn noch nichts eingefügt ist, können Sie Suchen und Ersetzen nicht verwenden, um die nicht druckbaren Zeichen zu entfernen, und Sie können den Rest dieser Schritte überspringen.
-
Wenn Sie nur die Zeichen löschen möchten, stellen Sie sicher, dass im Feld Ersetzen durch nichts vorhanden ist. Wenn Sie die Zeichen durch Leerzeichen ersetzen möchten, geben Sie ein einzelnes Leerzeichen in das Feld Ersetzen durch ein.
-
Klicken Sie auf Alle ersetzen.
Dieser Ansatz kann funktionieren oder auch nicht, abhängig von Excel und davon, ob Sie das fehlerhafte Zeichen in Schritt 1 genau kopieren können. Wenn es funktioniert, haben Sie eine wertvolle Technik gelernt, um die fehlerhaften Zeichen zu entfernen. Wenn es nicht funktioniert, sollten Sie einen anderen Ansatz ausprobieren.
Eine Sache zu versuchen ist, Word in Ihren „Bereinigungs“ -Operationen zu verwenden. Kopieren Sie die Daten aus Excel in ein Word-Dokument (fügen Sie sie als normalen Text ein) und ersetzen Sie die fehlerhaften Zeichen. Anschließend können Sie die Daten wieder in Excel einfügen. Einige Leute berichten, dass sie mit diesem Round-Trip-Ansatz genau die gewünschten Ergebnisse erzielen, wenn sie mit den Daten arbeiten.
Sie können natürlich ein Makro verwenden, um die beleidigenden Zeichen zu entfernen.
Es ist nicht allzu schwierig, eine eigene Version der CLEAN-Arbeitsblattfunktion zu erstellen, die nicht druckbare Zeichen durch Leerzeichen ersetzt, anstatt sie einfach zu entfernen. Betrachten Sie das folgende Beispielmakro:
Function ReplaceClean1(sText As String, Optional sSubText As String = " ") Dim J As Integer Dim vAddText vAddText = Array(Chr(129), Chr(141), Chr(143), Chr(144), Chr(157)) For J = 1 To 31 sText = Replace(sText, Chr(J), sSubText) Next For J = 0 To UBound(vAddText) sText = Replace(sText, vAddText(J), sSubText) Next ReplaceClean1 = sText End Function
Sie verwenden diese Funktion in Ihrem Arbeitsblatt folgendermaßen:
=ReplaceClean1(B14)
In diesem Fall werden alle nicht druckbaren Zeichen in Zelle B14 durch ein Leerzeichen ersetzt. Wenn Sie möchten, dass die Zeichen durch etwas anderes ersetzt werden, geben Sie einfach den zu ersetzenden Text an. Das folgende Beispiel ersetzt die nicht druckbaren Zeichen durch einen Bindestrich:
=ReplaceClean1(A1,"-")
Bei der folgenden Verwendung werden einfach die nicht druckbaren Zeichen entfernt, genau wie bei der CLEAN-Funktion:
=ReplaceClean1(A1,"")
Wenn Sie auf das zuvor vorgestellte ReplaceClean1-Makro zurückblicken, sehen Sie, dass es die Replace-Funktion verwendet. Diese VBA-Funktion ist nicht in allen Versionen von VBA verfügbar, die mit den verschiedenen Versionen von Excel verwendet werden. Wenn Sie das Makro ausprobieren und in einer der Zeilen, die die Funktion Ersetzen verwenden, eine Fehlermeldung angezeigt wird, verwenden Sie stattdessen diese Version des ReplaceClean-Makros:
Function ReplaceClean2(sText As String, Optional sSubText As String = " ") Dim J As Integer Dim vAddText Dim aWF As WorksheetFunction Set aWF = Application.WorksheetFunction vAddText = Array(Chr(129), Chr(141), Chr(143), Chr(144), Chr(157)) For J = 1 To 31 sText = aWF.Substitute(sText, Chr(J), sSubText) Next For J = 0 To UBound(vAddText) sText = aWF.Substitute(sText, vAddText(J), sSubText) Next ReplaceClean2 = sText Set aWF = Nothing End Function
_Hinweis: _
Wenn Sie wissen möchten, wie die auf dieser Seite (oder auf einer anderen Seite der ExcelTips-Websites) beschriebenen Makros verwendet werden, habe ich eine spezielle Seite vorbereitet, die hilfreiche Informationen enthält.
ExcelTips ist Ihre Quelle für kostengünstige Microsoft Excel-Schulungen.
Dieser Tipp (2947) gilt für Microsoft Excel 97, 2000, 2002 und 2003. Eine Version dieses Tipps für die Multifunktionsleistenschnittstelle von Excel (Excel 2007 und höher) finden Sie hier: