以下是我正在尝试编写的一些代码的示例。 Str2指的是Sheet1中的单元格B2 - 这只是一个简单的“10%”格式化为百分比。但是,当我应用宏时,它显示为十进制等效值。请问你能告诉我如何显示百分比 - 10%?
Sub DecimalAsPercent()
Dim str1 As String, str2 As String, str3 As String
str1 = "Policy returns "
str2 = Range("Sheet1!B2").Value
str3 = " Per Annum"
Range("B2").Value = str1 & str2 & str3
Range("B2").Characters(Start:=Len(str1) + Len(str2) + 1, Length:=(str3)).Font.Bold = True
End Sub
导致“政策返回0.1 每年”
我也试过以下,但没有用。
Sub DecimalAsPercent()
Dim str1 As String, str2 As String, str3 As String
str1 = "Policy returns "
str2 = Range("Sheet1!B2").Value
str3 = " Per Annum"
Range("B2").Value = str1 & str2 & str3
Range("B2").Characters(Start:=Len(str1) + Len(str2) + 1, Length:=(str3)).Font.Bold = True
End Sub
导致“政策返回真实每年”
提前致谢!
答案 0 :(得分:4)
这将返回10%
Sub DecimalAsPercent()
Dim str1 As String, str2 As String, str3 As String
With Sheet1
str1 = "Policy returns "
str2 = Format(.Range("B2").Value2, "0%")
str3 = " Per Annum"
.Range("B2").Value = str1 & str2 & str3
End With
End Sub
答案 1 :(得分:1)
在您的示例中,单元格B2的内容为0.1
,而10%
为表示。要将变量设置到变量中,请使用.text
而不是value
str = sheet1.Range("B2").value ' will write '0.1 to str
str = sheet1.Range("B2").text ' will write '10% to str