2013-01-07 18:44:11 +0000 2013-01-07 18:44:11 +0000
12
12

Как отображать или просматривать непечатанные символы в Excel?

Есть ли в MS Excel 2010 возможность отображать в ячейке непечатаемые символы (например, пробелы или символ разрыва строки, введенный нажатием Alt-Enter)?

Ответы (7)

10
10
10
2013-05-17 13:12:55 +0000

Самый простой способ сделать это - просто изменить шрифт на шрифт, имеющий встроенный видимый глиф для пробела (или любого другого символа, который вам может понадобиться идентифицировать)

К сожалению, у меня нет хорошего примера такого шрифта, но очень легко добавить маленькую точку к существующему шрифту, используя любую программу для редактирования шрифтов. Только не забудьте переименовать шрифт (не файл шрифта, а имя шрифта внутри файла шрифта), так что легко отличить этот пользовательский шрифт от оригинального, если у вас установлены оба.

EDIT Наконец-то я нашел время сделать такой шрифт! А вот и DottedSpace Mono, основанный на Bitstream Vera Sans Mono, но со встроенными точками : http://github.com/tanusoft/DottedSpaceMono .

4
4
4
2016-01-21 02:01:28 +0000

CTRL+H заменит все пробелы на ~ Это поможет быстро заполнить пробелы без программирования, а для обратной замены просто замените ~ на “ ”.

Лучшая программа, которую я нашел для сравнения этих типов файлов, где текст не отображается, это Ultra Edit. Пришлось использовать его для сравнения EDI файлов, файлов интерфейса, технических закачек и т.д. MS Office просто не очень хорошо оснащен для этой задачи.

3
3
3
2013-01-08 19:18:04 +0000

Хотя вы не можете показывать специальные символы прямо в ячейке, вы можете использовать формулу в соседнем (вставленном) столбце, чтобы заменить Enters и Spaces на символы по вашему выбору!

, например,

=SUBSTITUTE(A1;" ";" ¶ ")

заменят любой разрыв строки на символ слова для разрыва строки. А вложенная формула =SUBSTITUTE(SUBSTITUTE(A1;" ";" ¶ ");" ";"\_") заменит и то, и другое, пробел и ввод. (Примечание: чтобы ввести “Enter” в формулу, нужно нажать Alt+Enter во время редактирования формулы.

1
1
1
2016-03-08 14:55:45 +0000

Изменение шрифта на тип “Terminal” поможет вам их увидеть и изменить.

0
0
0
2018-04-07 01:38:46 +0000

1 Используйте find и введите пробел

2 Сделайте Replace All и введите “[s-p-a-c-e]”

3 Дополнительно: Если вы также хотите выделить всю ячейку красным цветом, просто используйте селектор форматов рядом с этим

Результат: Эти надоедливые пробелы очень четко покажут себя

Зачем мне это понадобилось: Я использовал функцию COUNTA, чтобы найти незаполненные ячейки в столбце. Однако она возвращала число больше, чем я ожидал. Я отлаживал каждую ячейку по одной, и к моему удивлению, некоторые, по-видимому, пустые ячейки показали COUNTA=0, а другие - COUNTA=1, что не имеет никакого смысла. Я не мог видеть разницу между ними. Получается, что в этой функции считается одна пустая ячейка, но она НИКОГДА не видна ни в ячейке, ни в поле ввода в верхней части.

Заключение: Если вы полагаетесь на COUNTA для важных задач, то вам лучше быть уверенным, что она не учитывает те проблемные места, которые вы, возможно, не знаете.

0
0
0
2019-12-06 06:55:35 +0000

Обычно мне не нужна VBA, поэтому я предпочитаю делать отличные вещи в питоне + openpyxl

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
0
0
0
2017-01-24 19:38:05 +0000

Точно не отвечает на ваш вопрос, но я задал формат числа:

;;;'@'

для одинарных кавычек, или это

;;;\"@\"

для двойных кавычек. Это обёртывание кавычек вокруг любого введённого текста. Я также установил шрифт в Courier New (или любой другой шрифт с фиксированной шириной).

Похожие вопросы

6
13
9
10
6