Note: The other languages of the website are Google-translated. Back to English

Як видалити нечислові символи з комірок у 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. Потім натисніть на Кнопка для запуску коду. У спливаючому вікні Kutools для Excel діалоговому вікні, виберіть діапазон із нечисловими символами, які потрібно видалити, а потім клацніть на 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 for ExcelАвтора Видалити символи Утиліта може зробити це одним клацанням миші.

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

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

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

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

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

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

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

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


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

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

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


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

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

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

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

  • Увімкніть редагування та читання на вкладках у Word, Excel, PowerPoint, Publisher, Access, Visio та Project.
  • Відкривайте та створюйте кілька документів на нових вкладках того самого вікна, а не в нових вікнах.
  • Збільшує вашу продуктивність на 50% та зменшує сотні клацань миші для вас щодня!
дно офісної таблиці
Коментарі (13)
Поки немає оцінок. Оцініть першим!
Цей коментар був мінімізований модератором на сайті
зразок коду для коментарів
Цей коментар був мінімізований модератором на сайті
дякую добре попрацював
Цей коментар був мінімізований модератором на сайті
Не було б краще замінити метод поля введення, просто встановивши WorkRng таким чином: Встановіть WorkRng = Intersect(ActiveSheet.UsedRange, Selection) таким чином, якщо користувач вибере весь стовпець, це не генеруватиме жодної помилки.
Цей коментар був мінімізований модератором на сайті
Чудово Спрацювало СУПЕР!!!!!!!!
Цей коментар був мінімізований модератором на сайті
Ого. це спрацювало, саме те, що мені було потрібно. Спасибі,
Цей коментар був мінімізований модератором на сайті
Я отримав повідомлення про помилку, коли я натиснув кнопку > запустити у розробнику: Помилка компіляції: Очікується: кінець оператора і виділено слово "non" у нечисловому
Цей коментар був мінімізований модератором на сайті
Використовуйте цю формулу для заміни наявного символу на новий =SUBSTITUTE(text,old_text,new_text,[instance_num]) для ex-=SUBSTITUTE(TRIM(G1),"/","") Вітаю всіх з Великоднем 2015 року
Цей коментар був мінімізований модератором на сайті
Дякую хлопці за таку гарну роботу. Сценарій чудовий, і він спрацював. Так тримати, хлопці.
Цей коментар був мінімізований модератором на сайті
Просто хочу повідомити вам, що якщо рядок починається з нуля(ів) або починається з літер, за якими слідує нуль(и), а потім решта рядка, це видаляє всі початкові нулі. Це дивно, тому що він не видаляє нуль(и), якщо вони знаходяться між іншими ненульовими числами в рядку, лише якщо вони починають рядок або є першими числами після початкових літер у рядку. Приклад. 0060100 вийде як 60100 PFF057726 вийде як 57726. Дайте мені знати, якщо у вас є пояснення цьому і ви можете придумати рішення. Дякую.
Цей коментар був мінімізований модератором на сайті
Надішліть мені це на мою електронну адресу
Цей коментар був мінімізований модератором на сайті
Привіт, я хочу використовувати цей макрос, але хочу попередньо визначити діапазон. Скажіть, будь ласка, як попередньо визначити діапазон. Дякую, Саміт
Цей коментар був мінімізований модератором на сайті
VBA чудово працює. Я змінив його так, щоб він завжди працював зі стовпцем, як показано:

Для кожної клітинки в діапазоні ("B2:B" & ActiveSheet.UsedRange.Rows.Count)

xOut = ""

Для i = 1 до Len(Cell.Value)

xTemp = Середина (Значення клітинки, i, 1)

Якщо xTemp Подобається "[0-9]", Тоді

xStr = xTemp

Ще

xStr = ""

End If

xOut = xOut & xStr

Далі я

Cell.Value = xOut

Далі

Я також використав це, щоб відсортувати стовпець за останньою цифрою, змінивши останню частину на Cell.Value = Right(xOut, 1), а потім відсортувавши її чисельно.
Цей коментар був мінімізований модератором на сайті
HI, дякую за кодування, я отримую синтаксичну помилку, виділену на For i = 1 To Len(Rng.Value), а налагоджувальний Sub RemoveNotNum() виділено жовтим кольором. Будь ласка.
There are no comments posted here yet

Слідуй за нами

Copyright © 2009 - WWW.extendoffice.com. | Всі права захищені. На основі ExtendOffice. | Карта сайту
Microsoft та логотип Office є товарними знаками або зареєстрованими товарними знаками Microsoft Corporation у США та / або інших країнах.
Захищений Sectigo SSL