【发布时间】:2019-09-12 07:40:00
【问题描述】:
代码问题:我想从文本转换为数字,但在值旁边的单元格中,我有欧元符号 "€",然后将其删除。情况是,如果我通过 excel(“转换为数字”)进行操作,欧元符号不会被删除,但 .NumberFormat = "General" 或 "0" 的每次更改都会删除符号。要完全拥有符号,我需要先更改为文本。想要将其更正为数字,以便用户可以进行任何操作。有人遇到这个问题吗?不擦符号可以改吗?
不起作用:
With Range("G:G")
.Value = .Value
.NumberFormat = "General"
End With
还有
With Range("G:G")
.Value = .Value
.NumberFormat = "0"
End With
代码:
Range("G:G").NumberFormat = "@"
i = 3
Do Until ws.Cells(i, 1) = ""
If ws.Cells(i, 7).Value <> "" Or ws.Cells(i, 7).Value <> 0 Then
ws.Cells(i, 7) = 200 & " " & Chr(128)
End If
i = i + 1
Loop
With Range("G:G")
.Value = .Value
.NumberFormat = "General"
End With
【问题讨论】:
-
您是否尝试使用宏记录器查看在使用 Excel 时按照您希望的方式更改格式时会发生什么?
-
您可以更改为货币值而不是数字值,然后将保留欧元符号
-
是的,宏记录器在 sub 的主体中没有显示任何内容。货币值仍然不会改变文本格式
-
找到解决方案。我需要删除导致文本更改的 Chr(128) 并使用欧元数字格式“#,##0 [$€-x-euro1]”或 Plato77 建议的通用格式之一。跨度>