Как создать макрос преобразования данных

Что делает макрос: Этот макрос позволяет очищать и стандартизировать данные.

Как макрос работает

Здесь мы объединили несколько макросов преобразования данных и создали один.
Обратите внимание, что нам нужно объявить две переменные объекта Range только один раз. С каждым действием мы указываем эти переменные в разных диапазонах. Несмотря на то, что вам нужно изменить диапазоны и задачи в этом макросе, это дает хорошее представление о том, как начать универсальную процедуру очистки данных.

Код макроса

Sub MakrosPreobrazovaniyaDannih()
'Шаг 1: Объявляем переменные
Dim MyRange As Range
Dim MyCell As Range
'Шаг 2: Сохранить книгу прежде, чем изменить ячейки?
Select Case MsgBox("Перед изменением ячеек. " & _
"Сохранить книгу?", vbYesNoCancel)
Case Is = vbYes
ThisWorkbook.Save
Case Is = vbCancel
Exit Sub
End Select
'Шаг 3: Выполнить "Текст по столбцам"
Set MyRange = Range("F6:I17")
For Each MyCell In MyRange
If Not IsEmpty(MyCell) Then
MyCell.Value = MyCell.Value
End If
Next MyCell
'Шаг 4: Дополнение нумерации клиентов нулями
Set MyRange = Range("B6:B17")
For Each MyCell In MyRange
If Not IsEmpty(MyCell) Then
MyCell.NumberFormat = "@"
MyCell = "0000000000" & MyCell
MyCell = Right(MyCell, 10)
End If
Next MyCell
'Шаг 5: Усечение почтовых индексов до 5 знаков
Set MyRange = Range("C6:C17")
For Each MyCell In MyRange
If Not IsEmpty(MyCell) Then
MyCell = Left(MyCell, 5)
End If
Next MyCell
'Шаг 6: Добавить код области в телефонный номер
Set MyRange = Range("D6:D17")
For Each MyCell In MyRange
If Not IsEmpty(MyCell) Then
MyCell = "(972) " & MyCell
End If
Next MyCell
'Шаг 7: Удаляем лишние пробелы из номеров продуктов
Set MyRange = Range("E6:E17")
For Each MyCell In MyRange
If Not IsEmpty(MyCell) Then
MyCell = Trim(MyCell)
End If
Next MyCell
'Шаг 8: Заменить пробелы нулями
Set MyRange = Range("F6:I17")
For Each MyCell In MyRange
If Len(MyCell.Value) = 0 Then
MyCell = 0
End If
Next MyCell
End Sub

Как использовать

Для реализации этого макроса, вы можете скопировать и вставить его в стандартный модуль:

  1. Активируйте редактор Visual Basic, нажав ALT + F11.
  2. Щелкните правой кнопкой мыши имя проекта / рабочей книги в окне проекта.
  3. Выберите Insert➜Module.
  4. Введите или вставьте код.
Оцените статью
Добавить комментарий