【发布时间】:2015-11-12 12:07:29
【问题描述】:
我正在编写一个“主”Excel 文档,该文档使用 Visual Basic for Applications 创建新工作簿并将它们保存为“.csv”。创建的工作簿包含来自两个来源的测量数据。一个来源已经在我的区域设置中提供了测量日期(荷兰,其中逗号, 符号通常用作小数分隔符)。然而,另一个来源以点 . 作为分隔符(美国设置)提供数据。我想用逗号符号替换所有点符号。
这可以通过替换功能实现吗?
(我猜这个解决方案只会在应用于大于 1.000,00(或美国设置为 1,000.00)的值时失败。这是可以接受的,但远非完美。
目前的尝试
Application.DecimalSeperator = ","- 在保存工作簿的行之后添加
local = true
另外
Excel 认为文本文档中的值有 1000 个分隔符 31.435。当我打开 1000 分隔符时,值为 31435。我需要它为 31,435(以逗号分隔的十进制,符号)
我需要调整单元格格式吗?
如果是这样,那么...如何?
还有其他解决方法吗?
Anwser/Solution(最适合我)
Sheets(SheetNaamCNC).Range("B1").Select
Do While ActiveCell.Value <> ""
If InStr(ActiveCell.Value, "0,") = 0 Then
ActiveCell.Value = ActiveCell.Value / 1000
End If
ActiveCell.Offset(1, 0).Select
Loop
【问题讨论】:
-
数据如何从“来源”进入您的电子表格?在这一步修复格式可能比试图解开 Excel 之后如何误解它更容易。
-
来源一,CNC 铣床上的 Touche 探针,它将文本文档发送到笔记本电脑(或 pc)。我的宏代码从中提取数据......但铣床只能提供以点为分隔符的测量数据。来源二、数显卡尺测量装置。用电缆连接到笔记本电脑。它将数据输入到主文件的一张表中,并给我以小数分隔的 bij 值,(所以工作正常)