假设我在记事本中有以下随机数:
1.19
0.040
10.1123
23.110
21.223
2.35456
4.0
10234.0009
456798.7500
123
34.560
40060
33.7876
如果我复制上面的数字并将其粘贴到Excel中,则数字格式将更改为此
1.19
0.04
10.1123
23.11
21.223
2.35456
4
10234.0009
456798.75
123
34.56
40060
33.7876
我打算复制粘贴数字而不更改其原始格式,例如:
0.040保留0.040,而不是0.04;
4.0保持4.0,而不是4;
456798.7500保留456798.7500,而不是456798.75;等等。
我知道我可以使用条件格式,例如
If condition_1 Then
Cells(...).NumberFormat = "0.00"
ElseIf condition_2 Then
Cells(...).NumberFormat = "0.000"
...
Else
result_else
End If
或使用Select ... Case语句,但是这些方法的问题是:
该代码可能很长,看起来很凌乱。
如果数字改变,那么条件条件也必须改变。
所以我的问题是:
如何使Excel在十进制数字的末尾不截断0?
附言我想将值保留为数字,而不是文本。
附录:我不明白为什么要对这个OP进行否决,因为这种表示形式在财务数据中很重要,例如:外汇或货币汇率。
最佳答案
如果我将原始数据放在A列中(具有您发布的格式)并运行此命令:
Sub CopyFull()
Dim A As Range, B As Range
Set A = Range("A1:A13")
Set B = Range("B1:B13")
A.Copy B
End Sub
复制的数据项将具有与原始格式相同的格式:
因此,如果A9的
NumberFormat
为0.0000,那么B9也是如此。编辑#1:
如果数据在打开的NotePad进程中开始,我将:
手动(或以编程方式)将数据存储为文本文件(.txt)
将文本文件作为文本导入到列中
将列中的每个项目转换为与文本格式一致的
NumberFormat
的数字