Як використовувати макрос для видалення тексту в Excel
Якщо ви працюєте з великими наборами даних у Excel, часом потрібно швидко видалити певний текст із цілого стовпця. Наприклад, прибрати зайві символи, дати або слова. Робити це вручну — марнування часу. На допомогу приходить VBA макрос “RemoveTextFromColumn”, який автоматизує процес. У цій статті розберемо, як він працює та як його застосовувати.
Що робить цей макрос?
Макрос виконує три основні дії:
- Запитує дані у користувача: Визначає текст для видалення (наприклад, “копії”) та стовпець для обробки.
- Знаходить останній запис у стовпці: Працює тільки з заповненими комірками.
- Видаляє заданий текст: Використовує функцію
Replace
для заміни тексту на порожній рядок.
Як використовувати макрос?
- Відкрийте Excel та натисніть
Alt + F11
, щоб запустити редактор VBA. - Додайте новий модуль через меню
Insert > Module
та вставте код макросу. - Запустіть макрос через
F5
або кнопку “Run”. - Введіть текст для видалення та літеру стовпця у вікнах, що з’являться.
Приклад використання:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 |
Sub RemoveTextFromColumn() Dim ws As Worksheet Dim searchText As String Dim columnLetter As String Dim lastRow As Long Dim cell As Range ' Set the worksheet you are working with ' Use the active sheet by default Set ws = ActiveSheet ' This will use the currently active sheet ' Prompt the user to enter the text to be removed searchText = InputBox("Enter the text you want to remove:") ' Prompt the user to enter the column letter (e.g., "A", "B", "C", etc.) columnLetter = InputBox("Enter the column letter (e.g., A, B, C):") ' Find the last row in the specified column lastRow = ws.Cells(ws.Rows.Count, columnLetter).End(xlUp).Row ' Loop through all cells in the column and remove the specified text For Each cell In ws.Range(columnLetter & "1:" & columnLetter & lastRow) cell.Value = Replace(cell.Value, searchText, "") Next cell ' Notify the user that the text has been removed MsgBox "Text removed from column " & columnLetter & "!" End Sub |
Якщо у стовпці “С” є значення “Ціна: 100 грн”, і ви введете текст “грн”, макрос залишить “Ціна: 100”.
Чому це корисно?
- Економить час: Обробка тисяч рядків займає секунди.
- Зменшує помилки: Видалення вручну часто призводить до пропусків.
- Гнучкість: Працює з будь-якими стовпцями та текстом.