防止 Excel 重新格式化值

防止 Excel 重新格式化值

我有一列数据。我将该列标记为“文本”。数据如下所示:

5,5
6,5
5,5
8,5
4,5
...

使用批量替换操作,我想将逗号转换为点。但是,Excel 会将条目转换为日期 (5. maj),或者如果在替换对话框中强制使用文本,则转换为一些模糊的数字,例如42130。查看屏幕截图:

屏幕截图 1 屏幕截图 2

如何告诉 Excel 不要自作聪明,只需按照我说的做即可。

谢谢

答案1

假设单元格已被格式化为文本,只需选择您想要转换的单元格并运行这个小宏:

Sub NoComma()
    For Each r In Selection
        v = r.Text
        If InStr(1, v, ",") > 0 Then
            v = Replace(v, ",", ".")
            r.Value = v
        End If
    Next r
End Sub

此宏不会对单元格做出不必要的或不必要的更改。

答案2

将单引号作为值的第一个字符。

'5,5
'6,5
'5,5
'8,5
'4,5
'...

答案3

正如 Steven 所回答的,在值前加上单引号可能是您的解决方案。我不知道您是否可以在批量替换器中执行此操作,我使用正则表达式插件,在那里执行此操作相当容易:
搜索:"([0-9]*),([0-9]*)"。替换为:"'\1.\2"

相关内容