首页 > 解决方案 > .summary 的 VBA 单元格格式

问题描述

我有一段代码需要有不同的格式。目前主要关注的领域是电子邮件中主题行的措辞/格式。这是我到目前为止所拥有的。

    ActiveWorkbook.EnvelopeVisible = True
    With .Parent.MailEnvelope
        .Introduction = "" 

       With .Item
            .to = "Somebodysemail@whatever.com;"
            .to = "Somebodysemail@whatever.com;"
            .CC = ";"
            .BCC = ""
            .Subject = Date & " Completion " & summary.[B8] & "% """
            .send
            .display
        End With

到目前为止,我在运行宏时的主要主题是:

2018 年 7 月 26 日完成 0.992%

我希望它阅读:

2018 年 7 月 26 日完成 99.2%

当调用单元格 B8 的内容时,它在我的 Excel 工作簿中已经是 99.2 的格式。我不明白为什么它没有复制单元格的确切内容。任何帮助将不胜感激!:)

标签: vbaexcel

解决方案


这不是一个真正的编程问题,所以可能更适合像 SuperUser 这样的相关网站,但它是一个如此快速的答案,我不妨......


替换代码中的这一行:

.Subject = Date & " Completion " & summary.[B8] & "% """

...和:

.Subject = Date & " Completion " & Format(summary.[B8],"0.0%")

要回答您的问题,您的说法是正确的:

“单元格 B8,它已经是 99.2 的格式

“格式”是关键词。Excel 中的数字仅存储为数字,没有格式。当您更改单元格的格式时,只会更改数字的显示方式,而不是实际数字本身。这是一件好事,有几个原因。

我强烈建议您花点时间查看诸如此类的教程。现在投入一点时间,以后会节省很多时间。

祝你好运!


推荐阅读