Note: The other languages of the website are Google-translated. Back to English
Увійти  \/ 
x
or
x
Реєстрація  \/ 
x

or

Як видалити нечислові символи з комірок у Excel?

Припустимо, у вас є аркуш із великою кількістю таких даних ABCD4578124YUIOH, а ви хочете видалити лише нецифрові символи  ABCDYUIOH але зберігайте числові символи в клітинках. Звичайно, ви можете видалити ці символи по одному, але тут ви можете швидко позбутися від нечислових символів з комірок наступним чином:

Видаліть нецифрові символи за допомогою коду VBA

Зручний інструмент для видалення нечислових символів одним клацанням миші


Видаліть нецифрові символи за допомогою коду VBA

Щоб видалити нечислові символи з діапазону з кодом VBA, виконайте такі дії:

1. Натисніть Розробник > Візуальний Бейсік відкрити Microsoft Visual Basic для програм вікно. В Microsoft Visual Basic для програм вікна, натисніть Insert > Модулі, а потім скопіюйте та вставте в модуль такі коди:

VBA: Видаліть усі нецифрові символи

Sub RemoveNotNum()
'Updateby Extendoffice
Dim Rng As Range
Dim WorkRng As Range
On Error Resume Next
xTitleId = "KutoolsforExcel"
Set WorkRng = Application.Selection
Set WorkRng = Application.InputBox("Range", xTitleId, WorkRng.Address, Type:=8)
For Each Rng In WorkRng
    xOut = ""
    For i = 1 To Len(Rng.Value)
        xTemp = Mid(Rng.Value, i, 1)
        If xTemp Like "[0-9]" Then
            xStr = xTemp
        Else
            xStr = ""
        End If
        xOut = xOut & xStr
    Next i
    Rng.Value = xOut
Next
End Sub

2. Потім натисніть на Кнопка для запуску коду. У спливаючому вікні KutoolsforExcel діалоговому вікні, виберіть діапазон із нечисловими символами, які потрібно видалити, а потім клацніть на OK кнопку. Дивіться знімок екрана:

doc видалити нечислові символи 1 копія

3. Потім всі нечислові символи у вибраному діапазоні видаляються.

doc видалити нечислові символи 2

Якщо числа з десятковою комою, ви можете використовувати такі VBA:

Sub RemoveNotNum()
'Updateby Extendoffice
Dim Rng As Range
Dim WorkRng As Range
On Error Resume Next
xTitleId = "KutoolsforExcel"
Set WorkRng = Application.Selection
Set WorkRng = Application.InputBox("Range", xTitleId, WorkRng.Address, Type:=8)
For Each Rng In WorkRng
    xOut = ""
    For i = 1 To Len(Rng.Value)
        xTemp = Mid(Rng.Value, i, 1)
        If xTemp Like "[0-9.]" Then
            xStr = xTemp
        Else
            xStr = ""
        End If
        xOut = xOut & xStr
    Next i
    Rng.Value = xOut
Next
End Sub

Ви можете побачити результати, як показано на знімку екрана нижче:

doc видалити нечислові символи 3


Зручний інструмент для видалення нечислових символів одним клацанням миші

Для видалення нечислових символів у діапазоні, Kutools для ExcelАвтора Видалити символи Утиліта може зробити це одним клацанням миші.

Kutools для Excel : з більш ніж 300 зручними надбудовами Excel, які можна спробувати без обмежень протягом 30 днів. 

після установки Kutools для Excel, будь ласка, виконайте наведені нижче дії:

1. Виділіть діапазон, який потрібно видалити нечисловими символами. Клацніть Кутулс > текст > Видалити символи.

doc видалити нечислові символи 4

2, в Видалити символи діалогове вікно, перевірте Нечислові опція в Видалити символи , а потім клацніть на OK or Застосовувати кнопку. І нечислові символи негайно видаляються з виділення. Дивіться знімок екрана:

doc видалити нечислові символи 5

Натисніть, щоб завантажити Kutools для Excel та безкоштовну пробну версію зараз!

Для отримання більш детальної інформації про Видалити символи Kutools для Excel, відвідайте Видалити опис функцій символів.


Демонстрація: Видаліть із комірок числові, алфавітні, недруковані або буквено-цифрові символи

Kutools для Excel: з більш ніж 300 зручними надбудовами Excel, спробуйте безкоштовно без обмежень протягом 30 днів. Завантажте та безкоштовно пробну версію зараз!

Статті по темі:


Найкращі інструменти для підвищення продуктивності офісу

Kutools для Excel вирішує більшість ваших проблем і збільшує продуктивність на 80%

  • Повторне використання: Швидко вставте складні формули, діаграми і все, що ви використовували раніше; Шифрувати комірки з паролем; Створити список розсилки та надсилати електронні листи ...
  • Супер формула бар (легко редагувати кілька рядків тексту та формули); Макет читання (легко читати та редагувати велику кількість комірок); Вставте у відфільтрований діапазон...
  • Об’єднати клітинки / рядки / стовпці без втрати даних; Вміст розділених комірок; Об'єднати повторювані рядки / стовпці... Запобігання дублюючим клітинам; Порівняйте діапазони...
  • Виберіть Повторюваний або Унікальний Рядки; Виберіть Пусті рядки (усі клітинки порожні); Супер знахідка та нечітка знахідка у багатьох робочих зошитах; Випадковий вибір ...
  • Точна копія Кілька клітинок без зміни посилання на формулу; Автоматичне створення посилань на кілька аркушів; Вставте кулі, Прапорці та інше ...
  • Витяг тексту, Додати текст, Видалити за позицією, Видаліть пробіл; Створення та друк проміжних підсумків підкачки; Перетворення вмісту комірок та коментарів...
  • Супер фільтр (зберегти та застосувати схеми фільтрів до інших аркушів); Розширене сортування за місяцем / тижнем / днем, частотою та іншим; Спеціальний фільтр жирним, курсивом ...
  • Поєднайте робочі зошити та робочі аркуші; Об’єднати таблиці на основі ключових стовпців; Розділіть дані на кілька аркушів; Пакетне перетворення xls, xlsx та PDF...
  • Понад 300 потужних функцій. Підтримує Office / Excel 2007-2019 та 365. Підтримує всі мови. Простота розгортання на вашому підприємстві чи в організації. Повна функція 30-денної безкоштовної пробної версії. 60-денна гарантія повернення грошей.
вкладка kte 201905

Вкладка Office забезпечує інтерфейс з вкладками для Office і значно спрощує вашу роботу

  • Увімкніть редагування та читання на вкладках у Word, Excel, PowerPoint, Publisher, Access, Visio та Project.
  • Відкривайте та створюйте кілька документів на нових вкладках того самого вікна, а не в нових вікнах.
  • Збільшує вашу продуктивність на 50% та зменшує сотні клацань миші для вас щодня!
дно офісної таблиці
Say something here...
symbols left.
You are guest
or post as a guest, but your post won't be published automatically.
Loading comment... The comment will be refreshed after 00:00.
  • To post as a guest, your comment is unpublished.
    Abi DC · 4 years ago
    HI Thanks for the coding, i am getting the syntax error highlighted on For i = 1 To Len(Rng.Value) and the debug Sub RemoveNotNum() is highlighted in yellow.. kindly advice.
  • To post as a guest, your comment is unpublished.
    usuc · 4 years ago
    The VBA works great. I modified it to always work on a column, as shown:

    For Each Cell In Range("B2:B" & ActiveSheet.UsedRange.Rows.Count)

    xOut = ""

    For i = 1 To Len(Cell.Value)

    xTemp = Mid(Cell.Value, i, 1)

    If xTemp Like "[0-9]" Then

    xStr = xTemp

    Else

    xStr = ""

    End If

    xOut = xOut & xStr

    Next i

    Cell.Value = xOut

    Next

    I also used this to sort a column by the last digit, changing the last part to Cell.Value = Right(xOut, 1) then sorting it numerically.
  • To post as a guest, your comment is unpublished.
    Naresh kumar · 5 years ago
    Send me it on my email id
    • To post as a guest, your comment is unpublished.
      samola · 4 years ago
      Hi,

      I want to use this macro but want to pre-define a range. Can you please let me know how to pre-define the range.

      Thanks,
      Samit
  • To post as a guest, your comment is unpublished.
    Cole · 6 years ago
    Just wanted to let you know that if the string starts with zero(s), or starts with letters, followed by zero(s), followed by the rest of the string this will remove all of the beginning zeroes. This is weird because it doesn't remove the zero(s) if they are between other non-zero numbers within the string, only if they start the string or are the first numbers after the initial letters in a string.

    Example.

    0060100 would come out as 60100

    PFF057726 would come out as 57726.

    Let me know if you have an explanation for this and can think of a solution. Thank you.
  • To post as a guest, your comment is unpublished.
    Roger · 6 years ago
    Thanx Guys for such a nice work. The script is awesome and it worked for. Keep it up guys.
  • To post as a guest, your comment is unpublished.
    Easter2015 · 6 years ago
    Use this Formaula for replacing the existing character with the new one
    =SUBSTITUTE(text,old_text,new_text,[instance_num])
    for ex-=SUBSTITUTE(TRIM(G1),"/","")
    Wish U all Happy Easter 2015
  • To post as a guest, your comment is unpublished.
    amanda · 7 years ago
    I received an error when I hit the > run button in the developer:

    Compile Error:
    Expected:end of statement


    and the word "non" in non-numeric is highlighted
  • To post as a guest, your comment is unpublished.
    Daniel · 7 years ago
    Wow. that worked , exactly what I needed.

    Thanks,
  • To post as a guest, your comment is unpublished.
    Julie Hodnett · 7 years ago
    Awesome Worked GREAT!!!!!!!!
  • To post as a guest, your comment is unpublished.
    Bryan Steven · 7 years ago
    wouldn't be better to replace the input-box method by just setting
    WorkRng like this:
    Set WorkRng = Intersect(ActiveSheet.UsedRange, Selection)
    that way if user select a entire column it wouldn't generate any error.
  • To post as a guest, your comment is unpublished.
    jo · 8 years ago
    thankyou worked well
  • To post as a guest, your comment is unpublished.
    JW · 8 years ago
    sample code for comments