excel vba 数字转文本

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了excel vba 数字转文本相关的知识,希望对你有一定的参考价值。

用excel vba 怎么按第一列的数据,是11位数字,把它显示把第二列的那种方式(文本),我用Selection.NumberFormat = "@",都不成功的,不知哪一步错了,它只会变成第三列的那种方式,但不是我想要的效果。

亲,对B列设置完文本“@”,要对B列重新赋予文本状态的A列值,才能正常显示成文本。假设A列数据有100行:

Dim i As Integer
Range("B:B").NumberFormat = "@"
For i = 1 To 100
    Range("B" & i) = Format(Range("A" & i), "0")
Next

追问

我成功了。用以下的代码,用了循环,可以有不用循环的方法吗?如果我一次换一列2000+的数据,用循环可能久一点。

Sub 数字转文本()
Dim rn As Range
For Each rn In Selection
rn.Offset(0, 1).NumberFormat = "@"
rn.Offset(0, 1) = Format(rn, "0")
Next

追答

我还真没办法,Excel这方面比较搞人。假如你是手工操作,把B列设成了文本格式,还要一个单元格一个单元格地双击才能转换成正常显示……
期待其他专家有更好的办法。

参考技术A &一个空字符,或者是&撇号,就行 参考技术B 以A1为例子:
[a1] = "'" & [a1]

以上是关于excel vba 数字转文本的主要内容,如果未能解决你的问题,请参考以下文章

VBA 如何将数字转换为中文大写

Excel vba 将数字转换成字符串的函数是哪个

Excel VBA在生成副本的工作表中插入本工作簿中的VBA模块代码

如何用VBA将excel表导出成文本类型的文件?

Excel vba 将数字转换成字符串的函数是哪个

如何让 Excel VBA 识别数字单元格?