Wie werden nicht druckbare Zeichen in Excel angezeigt oder angezeigt?


12

Gibt es in MS Excel 2010 eine Option, mit der nicht druckbare Zeichen in einer Zelle angezeigt werden (z. B. Leerzeichen oder Zeilenumbruchzeichen, die durch Drücken der Tastenkombination Alt-Enter eingegeben werden)?


2
Sie setzen können =IF(CLEAN(A1)=A1,"NA","Needs Cleaning")in der Zelle neben der Zelle neben ihm, oder Sie können bedingte verwenden Formatierung der Zeichen () (oder chr in VBA) Notation für carraige kehrt (char (13)) oder jedes andere Zeichen, die Suche mit hier ist ein link zu den char numbers

Was ist Ihr Grund, sie sehen zu müssen? Wenn Sie sie nicht nur sehen möchten, gibt es Möglichkeiten, wie wir Ihnen möglicherweise dabei helfen können, ein anderes Ziel zu erreichen (z. B. alle Zeilenumbrüche aus einer
Zellenspalte

Das Ziel der Anzeige der nicht druckbaren Zeichen besteht einfach darin, den Inhalt der Zellen Korrektur zu lesen. Da es sich um technische Inhalte handelt und Rückgaben darin üblich sind (und erwartet werden), muss dies von Hand erfolgen.
Freda K

@scott Vielen Dank für den Hinweis zur Verwendung von CLEAN (). Diese Funktion wird sehr nützlich sein, obwohl sie für dieses spezielle Bedürfnis leider nicht hilfreich sein wird.
Freda K

Es hört sich so an, als würden Sie das falsche Programm für Ihre Aufgabe verwenden, aber ich verstehe, dass dies manchmal unvermeidlich sein kann. Warum können Sie in Microsoft Word keine Tabelle verwenden? Trotzdem habe ich auf diese spezielle Frage unten eine Antwort gegeben.
PatKilg

Antworten:


3

Während Sie Sonderzeichen nicht direkt in der Zelle anzeigen können, können Sie in der angrenzenden (eingefügten) Spalte eine Formel verwenden, um Eingaben und Leerzeichen durch Zeichen Ihrer Wahl zu ersetzen!

Z.B

= SUBSTITUTE (A1; "
";"
¶
")
würde jeden Zeilenumbruch durch das Wortsymbol für den Zeilenumbruch ersetzen. Und die verschachtelte Formel
= SUBSTITUTE (SUBSTITUTE (A1; "
";"
¶
");" ";" _ ")
wird beide ersetzen, Leerzeichen und eingeben. (Hinweis: Um ein "Enter" in die Formel einzugeben, müssen Sie Alt+Enterwährend der Bearbeitung der Formel drücken .


Liebe die Arbeit, warum habe ich nicht daran gedacht!
PatKilg

10

Der einfachste Weg, dies zu tun, besteht darin, einfach die Schriftart in eine Schriftart mit einem eingebauten sichtbaren Symbol für das Leerzeichen (oder ein anderes Zeichen, das Sie möglicherweise identifizieren müssen) zu ändern.

Leider habe ich kein gutes Beispiel für eine solche Schriftart, aber es ist sehr einfach, mit einer beliebigen Schriftart-Editor-Software einen kleinen Punkt zu einer vorhandenen Schriftart hinzuzufügen. Vergessen Sie jedoch nicht, die Schriftart (nicht die Schriftartendatei, sondern den Schriftartennamen in der Schriftartendatei) umzubenennen, damit Sie diese benutzerdefinierte Schriftart leicht von der ursprünglichen unterscheiden können, wenn Sie beide installiert haben.

BEARBEITEN Ich habe endlich die Zeit gefunden, eine solche Schriftart zu erstellen! Hier kommt DottedSpace Mono, basierend auf Bitstream Vera Sans Mono, aber mit eingebauten gepunkteten Leerzeichen:

http://github.com/tanusoft/DottedSpaceMono


1
Ich sehe zum Beispiel keine Zeilenvorschübe.
Zylstra

4

STRG + H alle Leerzeichen durch ein ~ ersetzen. Dies hilft schnell bei Leerzeichen ohne Programmierung und umgekehrt, indem Sie einfach ~ durch "" ersetzen.

Das beste Programm, das ich zum Vergleichen dieser Dateitypen gefunden habe, bei denen kein Text angezeigt wird, ist Ultra Edit. Musste es zum Vergleichen von EDI-Dateien, Schnittstellendateien, technischen Uploads usw. verwenden. MS Office ist für diese Aufgabe einfach nicht gut gerüstet.


Diese Methode ersetzt Leerzeichen, aber nicht alle nicht druckbaren Zeichen, z. B. CHAR (10) (ein Wagenrücklauf innerhalb einer Zelle, der auch mit erreicht wird Alt-Enter)
Freda K

1

Wenn Sie die Schriftart auf den Typ "Terminal" ändern, können Sie sie leichter sehen und ändern.


0

Beantwortet Ihre Frage nicht genau, aber ich habe folgendes Zahlenformat festgelegt:

;;;'@'

für einfache Anführungszeichen oder dies

;;;\"@\"

für doppelte Anführungszeichen. Damit werden eingegebene Texte in Anführungszeichen gesetzt. Ich habe die Schriftart auch auf Courier New (oder eine andere Schriftart mit fester Breite) eingestellt.


0

1 Verwenden Sie find und enter space

2 Ersetzen Sie alle und geben Sie "[Leerzeichen]" ein

3 Optional: Wenn Sie auch die gesamte Zelle rot markieren möchten, verwenden Sie einfach die Formatauswahl

Ergebnis: Diese lästigen Räume werden sich super deutlich zeigen

Warum musste ich das tun: Ich habe die COUNTA-Funktion verwendet, um nicht leere Zellen in einer Spalte zu finden. Es wurde jedoch eine größere Zahl zurückgegeben, als ich erwartet hatte. Ich habe jede Zelle einzeln getestet, und zu meinem Erstaunen zeigten einige anscheinend leere Zellen COUNTA = 0 und andere COUNTA = 1, was keinen Sinn ergibt. Ich konnte den Unterschied zwischen den beiden NICHT sehen. Es stellt sich heraus, dass in dieser Funktion nur ein Leerzeichen übrig bleibt, das jedoch ÜBERALL in der Zelle oder im Eingabefeld oben nicht sichtbar ist.

Fazit: Wenn Sie sich bei wichtigen Aufgaben auf COUNTA verlassen, sollten Sie sicher sein, dass Sie nicht die störenden Bereiche zählen, von denen Sie vielleicht nicht wissen, dass sie vorhanden sind.


0

Normalerweise benötige ich kein VBA, daher bevorzuge ich es, Excel-Inhalte in Python + Openpyxl zu erstellen

from docx import Document #word docx py library
import openpyxl #excel py library
from openpyxl.styles import Color, PatternFill, Font, Border
from openpyxl.styles import colors
from openpyxl.cell import Cell
import re #regular expressions
import os #work with system

wb = openpyxl.load_workbook('test.xlsx') #open needed document

redFill = PatternFill(start_color='FFFF0000',
                   end_color='FFFF0000',
                   fill_type='solid')        #function to fill bad cells red

n = 0
print (wb.sheetnames)       #print all sheetnames to ensure theres no hidden

for sheet in wb.worksheets:  #cycle through sheets in excel file
    # get max row count
    max_row=sheet.max_row
    # get max column count
    max_column=sheet.max_column
    for i in range(1,max_row+1):
     # iterate over all columns
        for j in range(1,max_column+1):  #cycle through all rows and columns
            # get particular cell value    
            cell_obj=sheet.cell(row=i,column=j)
            s = re.search('[^-*+()!№;%:?@#$%^&;:_=/\\a-zA-Z0-9\ а-яА-Я°\'\".,,.«»<>ёЁ]', str(cell_obj.value)) #find bad symbols with regular expression
            #^ find not normal characters 
            #s = re.search('[\n]', str(cell_obj.value)) find line end
            if s:   
                print(n, " ", i, " ", j) #sheet, row, col
                #print("^", s, "^") print bad symbol
                #sheet.cell(row=i,column=j).fill = redFill
                #color current cell wth spec chars red

    print(n)
    n+=1

wb.save("test.xlsx") #save redacted book


Im Allgemeinen sind Antworten viel hilfreicher, wenn sie eine Erklärung dazu enthalten, was der Code bewirken soll und warum das Problem dadurch behoben wird, ohne dass andere eingeführt werden.
MMM

Einige Änderungen vorgenommen, danke
Gleb S
Durch die Nutzung unserer Website bestätigen Sie, dass Sie unsere Cookie-Richtlinie und Datenschutzrichtlinie gelesen und verstanden haben.
Licensed under cc by-sa 3.0 with attribution required.