Excel VBA将变量颜色设置为双值类型

Excel VBA将变量颜色设置为双值类型,excel,vba,colors,double,Excel,Vba,Colors,Double,愚蠢的问题,我的代码中有一个类型为double(decimal)的名为“perf”的变量。 我基本上是在电子邮件中显示性能,如果性能为正,我只想将其涂成绿色,如果为负,则涂成红色,我的结构如下: If perf > 0 Then perf.Characters() Color = RGB(0, 255, 0) Else perf.Color = RGB(255, 0, 0) End If 然后我在剩下的代码中使用“perf” 当然错了,我测试了一些解决方案。 你知道如何给

愚蠢的问题,我的代码中有一个类型为double(decimal)的名为“perf”的变量。 我基本上是在电子邮件中显示性能,如果性能为正,我只想将其涂成绿色,如果为负,则涂成红色,我的结构如下:

If perf > 0 Then
    perf.Characters() Color = RGB(0, 255, 0)
Else
    perf.Color = RGB(255, 0, 0)
End If
然后我在剩下的代码中使用“perf”

当然错了,我测试了一些解决方案。 你知道如何给结果上色吗?我应该在字符串中使用类似Cstr()的东西吗


提前感谢您的帮助

您使用的是字符串文字“perf”而不是变量的值:


strBody=strBody&“id:&aPosition.id&“/Qty:&_
位置数量和/成本:&aPosition.Cost\u价格和/性能:&_
"" & _
性能&“

如果您想在电子邮件中为其着色,您必须在电子邮件中使用并粘贴表格,或者在outlook电子邮件中使用
.HTMLBody
,并通过html标记更改颜色。double没有
字符
颜色
等属性。嘿,谢谢您的回答,那么我应该转换我的双精度显示器吗?变量类型并不重要。不能对字符串或双精度字符执行任何格式化操作。您可以格式化单元格。或者通过html的文本,正如我所指出的。您必须使用我提供的两种解决方案之一。我想不出任何其他的方法来做它。是的,最终我直接通过html格式化它,但仍然,它没有给我数字的性能和绿色或红色的颜色,而是给我绿色或红色的单词“性能”。。。它在变量perf下查找结果,但不显示结果,而是显示变量的名称。。。这是我的代码:strBody=strBody&“id:&aPosition.id&”/Qty:&aPosition.Qty&“/Cost:&aPosition.Cost\u PRICE&“/Perf:&Perf&”