В поисках ведущих апострофов

Ричард хотел бы иметь возможность искать апостроф (‘) в крайнем левом положении в ячейке, но Excel не позволяет ему это делать. Другими словами, если ячейка содержит ‘123 или’ a34tp, Ричард хотел бы иметь возможность найти этот начальный апостроф и, при желании, заменить его чем-то другим.

Делать то, что Ричард хочет делать. требует небольшого предварительного объяснения. Технически неправильно называть апостроф «ведущим символом» или упоминать, что он находится в «крайнем левом положении» ячейки. Даже если вы можете взглянуть на панель формул и увидеть апостроф в начале формулы, этот апостроф на самом деле не является частью содержимого ячейки; вот почему вы не можете использовать «Найти и заменить», чтобы найти и заменить его.

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

Если параметр очищен (условие по умолчанию для параметра), то значение символа префикса для каждой ячейки может быть пустым или апострофом. Если ячейка содержит текст, то установка символа префикса особого значения не имеет. Если содержимое ячейки не является текстом, то установка символа префикса на апостроф заставляет Excel обрабатывать содержимое ячейки как текст. Так, например, число 123 обрабатывается как текст, а не число, и отображается в строке формул как «123».

Если выбран параметр «Клавиши навигации перехода» (флажок установлен галочку в нем), то значение символа префикса для каждой ячейки может иметь одно из пяти различных значений. Эти значения согласуются с префиксами, используемыми в Lotus 1-2-3, и, как ни странно, поддерживаются в Excel только в качестве переходной помощи к регулярному использованию в программе. Возможные значения: апостроф (с выравниванием по левому краю), кавычкой (с выравниванием по правому краю), каратами (по центру), обратной косой чертой (повторяется) или пробелом (нетекстовый элемент).

Теперь , вернемся к первоначальному вопросу Ричарда: как найти и избавиться от этого ведущего апострофа. Вы не можете использовать «Найти» и «Заменить» для редактирования, потому что апостроф на самом деле не является частью содержимого ячейки. Итак, вы должны внести изменения в макрос. Изменить относительно легко. Во-первых, вам нужно убедиться, что в книге снят параметр «Ключи перехода при переходе». Почему? Потому что вы, вероятно, не захотите испортить символ префикса для ячеек, если книгу можно будет снова использовать в будущем с Lotus 1-2-3. Убедитесь, что настройка верна в вашем макросе с помощью следующей строки:

Application. TransitionNavigKeys = False

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

For Each c In Selection If c.PrefixCharacter = «‘» Then c.Value = c.Value End IfNext c

Обратите внимание, что макрос проверяет, что находится в свойстве PrefixCharacter. Это свойство можно прочитать в VBA, но его нельзя изменить напрямую. Вот почему макрос должен использовать, казалось бы, простую строку для присвоения значения каждой ячейки обратно в ячейку – по сути, повторный ввод содержимого.

Если вы не хотите использовать макрос для избавления от символы префикса апострофа, то вы можете воспользоваться небольшой странной особенностью Paste Special. Выполните следующие общие шаги:

  1. Выберите пустую ячейку и скопируйте ее в буфер обмена (используйте Ctrl + C ).
  2. Выберите диапазон ячеек, из которого вы хотите удалить символ префикса.
  3. Отобразите диалоговое окно «Специальная вставка».
  4. Щелкните переключатель «Добавить».
  5. Нажмите “ОК”.

После «добавления» пустой ячейки к каждой из целевых ячеек символ префикса – если он есть – удаляется. .

Источник: frestage.ru

Бытовой вопрос