найти и заменить номер, так как текст не работает в VBA - PullRequest
0 голосов
/ 22 января 2019

У меня есть лист данных, и в столбце D они являются числами (например, 15, 16).В целях анализа данных мне нужно заменить их в виде текста, чтобы они могли отображаться как 015, 016 конкретно.А для остальных чисел я могу оставить их в виде текста, но не добавить начальный ноль.

Мои текущие коды меняют их только на текст, но не смогли добавить начальный ноль, который мне нужен.И снова, поскольку мне нужно только 15, чтобы быть 015 и 16, чтобы быть 016, вот как я настраивал свои коды.Остальное может быть в виде текста без начальных нулей.

Sub test()
With Worksheets("RTLDC")
    Dim LR99 As Long, xy As Long, ij As Long
    Dim fndList As Variant, rplcList As Variant
    LR99 = Range("A" & Rows.Count).End(xlUp).Row
    fndList = Array("15", "16")
    rplcList = Array("015", "016")
    Range("D:D").NumberFormat = "@"
    For xy = LBound(fndList) To UBound(fndList)
        For ij = 1 To LR99
            If Range("D" & ij).Value = fndList(xy) Then
                Range("D" & ij).Value = rplcList(xy)
            End If
        Next ij
    Next xy
End With
End Sub

Первая картинка - это то, что я вижу после запуска своей VBA, а вторая - результат моих желаний.

enter image description here enter image description here

1 Ответ

0 голосов
/ 22 января 2019

Это проблема диапазона форматирования, попробуйте отформатировать по ячейке

Range("D" & ij).NumberFormat = "@"

Может быть лучше, если вы используете

Columns("B:B").NumberFormat = "@"

Ссылка https://www.excel -easy.com / vba / examples / whole-row-columns.html

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...