Избавление от пробелов в ячейках (Microsoft Excel)
Кэрол импортирует информацию в Excel из другой программы, и в некоторых ячейках часто остаются лишние пробелы. В ячейках есть только пробелы, поэтому они кажутся пустыми, но на самом деле это не так. Кэрол подумала, как лучше всего избавиться от этих ненужных пробелов.
Есть несколько подходов, которые вы можете использовать. Первый — использовать возможности Excel «Найти и заменить». Выполните следующие действия:
-
Нажмите Ctrl + H, чтобы открыть вкладку «Заменить» в диалоговом окне «Найти и заменить».
-
В поле «Найти» введите два пробела.
-
Убедитесь, что поле «Заменить на» пусто.
-
Установите флажок «Соответствовать содержимому всей ячейки».
-
Нажмите «Заменить все».
-
Продолжайте нажимать «Заменить все», пока Excel не найдет совпадений.
-
Повторите шаги 2–5, но на этот раз используйте только один пробел на шаге 2.
-
Закройте диалоговое окно «Найти и заменить».
Другой вариант — использовать функцию обрезки рабочего листа. Этот подход удобен, если все ячейки, которые вы хотите изменить, находятся в определенной области рабочего листа, например в одном столбце. Например, если вы хотите избавиться от пробелов в ячейках в столбце D, вы можете использовать следующую формулу:
=Trim(D1)
Функция Trim возвращает содержимое ячейки D1 без начальных и конечных пробелов. Затем вы можете скопировать результаты этой формулы и использовать Специальную вставку, чтобы вставить значения обратно в любые ячейки, которые вам нужны.
Конечно, если у вас есть много рабочих листов, которые вам нужно обработать, или если вы регулярно получаете книги, содержащие лишние пробелы в ячейках, лучшим способом было бы создать макрос, который мог бы избавиться от пробелов. Возможно, самым быстрым способом было бы изучить все ячейки на листе и избавиться от лишних пробелов:
Sub CleanSheet1() For Each cell In ActiveSheet.UsedRange cell.Value = Trim(cell) Next cell End Sub
Макрос проходит через каждую ячейку и использует функцию Trim, чтобы избавиться от любых начальных или конечных пробелов. Это работает для всех ячеек, но может привести к нежелательным результатам в зависимости от характеристик ваших данных. Если у вас есть ячейки с ведущими пробелами — и вам нужны эти пробелы — тогда вам потребуется другой макрос. Эта версия даст более удовлетворительные результаты:
Sub CleanSheet2() Dim rCell As Range Dim rText As Range Set rText = Cells.SpecialCells( _ xlCellTypeConstants, _ xlTextValues) For Each rCell In rText If Trim(rCell.Value) = "" Then rCell.ClearContents End If Next Set rText = Nothing Set rCell = Nothing End Sub
Он проверяет только те ячейки, которые содержат константы (включая весь текст на листе), а затем проверяет, приведет ли использование функции Trim к пустой ячейке. Если да, то ячейка очищается. Если функция Trim не приведет к появлению пустой ячейки, то в ячейку не вносятся никакие изменения.
_Примечание: _
Если вы хотите узнать, как использовать макросы, описанные на этой странице (или на любой другой странице на сайтах ExcelTips), я подготовил специальную страницу, содержащую полезную информацию.
link: / excelribbon-ExcelTipsMacros [Щелкните здесь, чтобы открыть эту специальную страницу в новой вкладке браузера]
.
ExcelTips — ваш источник экономичного обучения Microsoft Excel.
Этот совет (12471) применим к Microsoft Excel 2007, 2010, 2013 и 2016.
Вы можете найти версию этого совета для старого интерфейса меню Excel здесь:
link: / excel-Getting_Rid_of_Spaces_in_Cells [Избавление от пробелов в ячейках]
.