Как добавить в ячейку недостающие нули

Что делает макрос: Многие системы требуют идентификаторы (например, номер клиента, номер заказа, или номер продукта), чтобы иметь фиксированное количество символов. Например, номера клиентов, которые выглядят следующим образом: 00000045478. Число дополняется нулями для достижения предварительных условий длины символа.

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

Все номера клиентов должны быть более 10 символов. Таким образом, для каждого номера клиента, необходимо раздуть число с нулями, чтобы получить всего 10 символов. Этот макрос делает это.

Код макроса

Sub Macro51()
'Шаг 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 = Selection
'‘Шаг 4: Запускаем цикл по диапазону
For Each MyCell In MyRange
'Шаг 5: Добавляем нули и берем 10 знаков справа
If Not IsEmpty(MyCell) Then
MyCell.NumberFormat = "@"
MyCell = "0000000000" & MyCell
MyCell = Right(MyCell, 10)
End If
'Шаг 6: Получаем следующую ячейку в диапазоне
Next MyCell
End Sub

Как этот код работает

  1. Шаг 1 объявляет две переменные объекта Range.
  2. Мы должны сохранить книгу перед запуском макроса.
  3. Шаг 3 заполняет переменную MyRange с целевым диапазоном.
  4. Шаг 4 начинает цикл через каждую ячейку в целевом диапазоне.
  5. После того, как клетка активируется, Шаг 5 использует функцию IsEmpty, чтобы убедиться, что ячейка не пуста. Мы делаем это, чтобы немного сэкономить на производительности. Макрос гарантирует, что ячейка отформатирована, как текст. На следующей строке, мы используем свойство NumberFormat, чтобы указать, что формат @. Этот символ указывает на форматирование текста. Затем макрос объединяет ячейки с 10 нулями, вводим 10 нулей в коде, а затем с помощью амперсанд (&) объединяем их со значением ячейки. И, наконец, шаг 5 использует нужную функцию для извлечения 10 символов. Это
    фактически дает нам значение ячейки, с достаточным количеством нулей, чтобы сделать 10 символов.
  6. Шаг 6 повторяет цикл, чтобы получить следующую ячейку. После просмотра всех ячеек в целевом диапазоне макрос заканчивается.

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

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

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