如何解决Excel VBA 添加尾随零并保持 0.00
我刚刚开始尝试用 Excel VBA 编写代码,所以如果这是一个愚蠢的问题,请原谅我。
我花了几个小时试图弄清楚如何让 38.8 和 1 之类的值显示为 38.80 和 1.00。我能得到的最好的结果是单元格显示正确的值,但实际上当你尝试移动它或用它做任何事情时它的实际值仍然是 38.8,在功能栏中它显示为 38.8
第 17 列是价格或双精度值,我需要始终保留两位小数。然后我需要将它移动到另一个单元格以添加到我用正则表达式替换的字符串中并保留小数位。
Sub MacroReplaceText()
' Declare variables
Dim RowNum As Integer
Dim StrNew As String
Dim DblPrice As Double
' Set starting point of row
RowNum = 2
Dim regex As Object
Set regex = CreateObject("VBScript.RegExp")
' Set pattern to search for
regex.Pattern = "-.+"
' Set regex to only find first result
regex.Global = False
'Loop through every row that has a value in column 11
Do While Cells(RowNum,11).Value <> ""
'Set Price format
Cells(RowNum,17).NumberFormat = "#,##0.00"
DblPrice = Cells(RowNum,17)
'Create replacement text string
StrNew = "- " & Cells(RowNum,16) & " @ $" & DblPrice
'Replace found pattern
'Cells(RowNum,11) = "STC's " & Cells(RowNum,11)
'Cells(RowNum,11) = regex.replace(Cells(RowNum,11),StrNew)
'Cells(RowNum,15) = Cells(RowNum,11)
RowNum = RowNum + 1
Loop
End Sub
任何帮助将不胜感激。
解决方法
我有点困惑。但是,如果您想将 DblPrice
保留为 Double,并且还希望 DblPrice
出现在您的字符串中,按照您在屏幕截图中显示的格式,那么您可以使用 vba Format
函数:
StrNew = "- " & Cells(RowNum,16) & " @ $" & Format(DblPrice,"Currency")
或类似的。
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。