使用VBA将文本列转换为数字

时间:2014-02-06 21:53:28

标签: sql excel vba excel-vba

我希望根据1列对工作簿进行排序和分组。该列是从外部软件中提取的,因此它是以文本形式导入的。

我尝试过使用:

Sub Whatever()

With ActiveSheet.UsedRange
    .Value = Evaluate(.Address & "*1")
End With
End Sub

但是,当我只需要转换列P(实际上是P2通过任何,由于列标签)时,它会将所有列转换为数字。关于如何转换1列的想法?

2 个答案:

答案 0 :(得分:2)

试试这段代码:

Sub test()
    Dim lastrow As Long
    lastrow = Application.Max(2, Cells(Rows.Count, "P").End(xlUp).Row)
    With Range("P2:P" & lastrow)
        .NumberFormat = "0"
        .Value = .Value
    End With
End Sub

答案 1 :(得分:1)

如果您将范围值设置为自身,它会将文本转换为数字。即

Columns("P").Value = Columns("P").Value