繁体   English   中英

使用宏在Excel中更改小数点分隔符

[英]Changing decimal separator in Excel using a macro

我正在使用一个简单的Java程序,该程序将数据输出到几个逗号分隔的文本文件中。 我使用宏将这些文件导入Excel,将每个文件粘贴到以文件名命名的单独工作表中。 问题在于输出的十进制分隔符是点“”。 并且区域设置为逗号“,”。 我不想一直更改区域设置。

使用Ctrl + F并将所有点替换为逗号都可以正常工作。 但是,如果我将其记录为宏并运行,则数据显示不正确,并且出现“数字存储为文本”错误(如本示例 )。 我一直在寻找两种可能的解决方案:

  1. 使用此处的替换功能。 但是我无法使其运行,因为我不了解某些生产线的功能以及需要更改的内容。

  2. 这里一样在Excel中更改逗号分隔符设置。 此解决方案将要求这些设置在退出时重置。 这样做并不能真正解决问题,但是可以解决它。

示例输出在这里 非常感谢您的投入!

如果您在Excel中使用“打开”命令,则可以打开它,修改“列数据格式”屏幕中的高级按钮(第3步,共3步),然后修改导入分隔符。
如果使用宏,请使用以下命令:

Workbooks.OpenText Filename:="E:\0\aa.TXT", Origin:=xlMSDOS, StartRow:=1 _
    , DataType:=xlDelimited, TextQualifier:=xlDoubleQuote, _
    ConsecutiveDelimiter:=False, Tab:=True, Semicolon:=False, Comma:=False _
    , Space:=False, Other:=False, FieldInfo:=Array(Array(1, 1), Array(2, 1)), _
    DecimalSeparator:=".", ThousandsSeparator:="&", TrailingMinusNumbers:= _
    True

如果不选择“千位分隔符”,则可能会有一些奇怪的值,如2.345,它的导入如2345。(与open相同)。 如果您使用分隔符作为千位分隔符,则不会有问题。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM