excel - 如何将Excel中的文本数字转换为数字?

标签 excel vbscript vba

我刚刚运行了一个宏并得到了以下内容:

Sub Macro1()
'
' Macro1 Macro
'

'
    Columns("B:B").Select
    Range("B4").Activate
    Selection.NumberFormat = "0.00"
    Selection.NumberFormat = "@"
End Sub

现在无法理解 Selection.NumberFormat = "0.00"Selection.NumberFormat = "@" 之间的区别,你能帮我理解吗?

我还尝试将 Excel 中的一些文本文本转换为数字。这样做的好语法是什么?

快照:

Existing Number format

编辑

我尝试将所有存储为文本的数字转换为下面的数字,但没有任何改变。如果我错了,请指导:

objSheet1.Columns(11).NumberFormat = "0"

最佳答案

这就是你正在尝试的吗?

Sub Sample()
    Dim ws As Worksheet
    Dim lRow As Long, i As Long

    '~~> Change this to the relevant sheet name
    Set ws = ThisWorkbook.Sheets("Sheet1")

    With ws
        '~~> Col B
        .Columns(2).NumberFormat = "0.00"

        '~~> Get the last row
        lRow = .Range("B" & .Rows.Count).End(xlUp).Row

        For i = 1 To lRow
            .Range("B" & i).Formula = .Range("B" & i).Value
        Next i
    End With
End Sub

屏幕截图

enter image description here

关于excel - 如何将Excel中的文本数字转换为数字?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/14100216/

相关文章:

arrays - 组合框和文本框单击事件的 VBA 动态数组

vba - 将小数转换为百分比

vba - Excel VBA循环遍历所有工作簿和所有工作表

vbscript - 有人可以解释一下我的 VBScript 错误吗

excel - 将模块注入(inject)excel并运行

VBScript 如果那么,尝试使用参数运行 exe

html - 使用 .getElements 进行 VBA HTML 寻址

vba - 如何在 SolidWorks VBA 中引用相对路径

excel - 如何使用 Excel VBA API 获取工作簿中多个选定的工作表句柄

vba - 在程序中创建命令按钮并为其分配事件