复制CSV值会更改格式

时间:2014-01-24 14:11:51

标签: vba

我尝试遍历一个包含(n).CSV文件的文件夹(这些文件已经导入并分离(拆分))。

i将特定列(S:V)从sources文件复制到我的工作簿(Makrofile.xlsm)。

问题:

源文件中的数字格式为:对于复制这些数字并粘贴它们之后的示例5,8987,格式更改为558.97

在从源文件复制之前更改格式后的最佳情况我将格式更改为

列。( “S:S”)选择 Selection.NumberFormat =“0.000”

然后复制并关闭Sourcefile然后我粘贴到我的(Makrofile.xlsm)结果是:5.5897

我有一个德语Excel和逗号ist(,)。我不能使用此数字进行操作。

任何想法都可以保留CSV格式的值,就像粘贴后一样?

非常感谢你

1 个答案:

答案 0 :(得分:0)

您是否尝试过使用Range.PasteSpecial方法?我对CSV文件没有太多帮助,所以我可能会有点偏离这里,但由于我还没有看到你的代码,你可能还没有尝试过。

expression.PasteSpecial(Paste, Operation, SkipBlanks, Transpose)
'Implementation:

Workbooks("YourWorkbook").Sheets("Sheet1").Range("A1").PasteSpecial xlPasteValuesAndNumberFormats

或者这是来自MSDN的一些代码

With Worksheets("Sheet1")
    .Range("C1:C5").Copy
    .Range("D1:D5").PasteSpecial xlPasteValuesAndNumberFormats
End With

您可以在以下几个方面做出选择:xlPasteValuesAndNumberFormats,xlPasteFormats,xlPasteValues,xlPasteAll。您可能想要尝试最适合您的方法。

如果这不是'你正在寻找什么,请告诉我,我会将其删除。