阻止 Excel 猜测单元格格式

阻止 Excel 猜测单元格格式

我有一个这样的专栏:

000123-1234
000123-1234
000123-1234
012345-5678
123456-1234
234567-2345
345678-3456

我需要删除破折号。如果我标记该列并进行搜索替换,Excel 会认为:“是的,好吧 - 现在这一定是一个数字。而且数字没有前缀零;所以我最好删除它们。”但不行!我需要零!

我尝试将单元格格式化为文本、“标准”和数字 - 但没有成功。

我怎样才能阻止 Excel 尝试帮助我 - 并让它按照我的指示去做仅此而已!?

我知道我可以创建两个新列,首先获取前 6 个字符,然后获取后 4 个字符,然后将它们合并在一起...但这真的是最好的方法吗!?

答案1

这看起来是 Excel 中已知的行为。

您可以使用宏来保留文本格式并执行查找/替换。使用以下子例程:

Sub RemoveHyphen(RangeString As String)

For Each Cell In Range(RangeString)
    Cell.NumberFormat = "@"
    Cell.Value = Replace(Cell.Value, "-", "")
Next Cell

End Sub

RemoveHyphen("A1:A7")在 VBA 立即窗口中调用子程序。它将把所有单元格格式化为文本并删除连字符。

答案2

包含列中的数据A, 在B1进入:

=SUBSTITUTE(A1,"-","")

并向下复制。然后复制列PasteSpecialValues回到柱子上A。任何前导零都将被保留!

答案3

您可以使用自定义格式来显示前导零:

数字格式截图

输入0与数字位数相同的 。

相关内容