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)?
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)?
Antworten:
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+Enter
während der Bearbeitung der Formel drücken .
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:
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.
Alt-Enter
)
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.
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.
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
=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