1

У меня есть такой столбец:

000123-1234
000123-1234
000123-1234
012345-5678
123456-1234
234567-2345
345678-3456

И мне нужно снять черту. Если я просто отмечу этот столбец и выполню поиск-замену, то Excel подумает: «Да, хорошо - теперь это должно быть число. И число не имеет префикса нули; так что я лучше их уберу ». Но нет! Мне нужны нули!

Я попытался отформатировать ячейки как текст, как «стандартный» и как число - но без удачи.

Как я могу остановить Excel от попыток помочь мне - и просто делать то, что я говорю, и только это !?

Я знаю, что могу создать две новые колонки, где я сначала получу первые 6 символов, а затем получу последние 4 символа и затем объединю их вместе ... Но действительно ли это лучший способ сделать это?

3 ответа3

1

Это выглядит известным поведением в Excel.

Вы можете использовать макрос, чтобы сохранить форматирование текста и выполнить поиск / замену. Используйте следующую подпрограмму:

Sub RemoveHyphen(RangeString As String)

For Each Cell In Range(RangeString)
    Cell.NumberFormat = "@"
    Cell.Value = Replace(Cell.Value, "-", "")
Next Cell

End Sub

Вызовите подпрограмму с помощью RemoveHyphen("A1:A7") в непосредственном окне VBA. Он отформатирует все ячейки как текст и удалит гипс.

1

Вы можете использовать пользовательский формат для отображения ведущих нулей:

Снимок экрана с числовым форматом

Введите столько цифр 0 , сколько цифр в ваших числах.

1

С данными в столбце A, в B1 введите:

=SUBSTITUTE(A1,"-","")

и скопировать вниз. Затем скопируйте столбец B и PasteSpecialValues обратно в столбец A. Любые ведущие нули будут сохранены!

Всё ещё ищете ответ? Посмотрите другие вопросы с метками .