Excel: преобразовать массовый текст в число и сохранить фиксированную длину? - PullRequest
1 голос
/ 28 марта 2012

Я работаю с около 1 миллиона записей.В настоящее время данные отформатированы как «текстовый» тип, и я хочу, чтобы это был «числовой» тип.

Я использовал метод copy special> multiply, но при преобразовании отбрасываются начальные нули в наборе данных,Я не хочу этого, я хочу поддерживать фиксированную длину данных, включая ведущие нули.

Как мне это сделать?

Ответы [ 2 ]

2 голосов
/ 28 марта 2012

Можно установить для параметра Формат ячейки значение Пользовательский: Формат -> Ячейка -> Пользовательский: текстовое поле «Тип»: максимальное количество нулей

пример: 00000 будет отображать 52 как 00052

Примечание. Убедитесь, что формат ячеек применяется ко всем ячейкам, включенным в специальную вставку.

0 голосов
/ 28 марта 2012

Вы можете использовать код VBA, как показано ниже, но вам все равно нужно вставить логику, которая отформатирует i-й столбец правильной длины.

Sub doIt()

    Dim i As Long

    Application.ScreenUpdating = False
    For i = 1 To 10 'replace 10 by the index of the last column of your spreadsheet
        With Columns(i)
            .NumberFormat = String(.Cells(2, 1), "0") 'number length is in second row
        End With
    Next i
    Application.ScreenUpdating = True

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