使用 NumberFormat VBA Excel 添加文本
Posted
技术标签:
【中文标题】使用 NumberFormat VBA Excel 添加文本【英文标题】:Adding Text with the NumberFormat VBA Excel 【发布时间】:2021-03-12 11:46:33 【问题描述】:我写了下面的代码,现在我想像这样添加带有日期和时间的文本。
Last Update on: 3/12/2021 6:38:43 AM
我尝试使用以下代码,但它不起作用,我们将不胜感激。
With Sheet9.Range("H8")
.Value = Now()
.NumberFormat = "Last update on: " & "mm/dd/yyyy h:mm:ss AM/PM"
End With
【问题讨论】:
【参考方案1】:Excel(不是 VBA)中的数字格式类似于 "Last Update on " dd/ mmm yyyy
- 需要将修复文本放在引号中。
使用 VBA 设置数字格式时,您需要告诉 VBA(不是 Excel)您希望在字符串中包含引号。你可以通过双引号来做到这一点。看下面的语句: 第一个引号告诉 VBA 一个字符串开始。第二和第三个引号告诉 VBA 你不想结束字符串,而是在字符串中放一个引号字符。
.NumberFormat = """Last Update on "" dd/ mmm yyyy"
【讨论】:
是的,我错了,谢谢您的更正。【参考方案2】:“上次更新时间:”并不是真正有效的格式。 您可以尝试在格式化后添加文本。 Usint Range.Text 而不是 .Value 应该保留任何格式。
With Sheet9.Range("H8")
.Value = Now()
.NumberFormat = "mm/dd/yyyy h:mm:ss AM/PM"
.Value = "Last update on: " & .Text
End With
如果我们还是要将它作为文本,我们可以使用 FunThomas 方法在一行中完成所有操作。
.Value = Format(Now(), """Last update on: "" mm/dd/yyyy h:mm:ss AM/PM")
【讨论】:
只需要在单个单元格中使用。非常感谢。 即修改单元格内容,代码运行后,单元格不再包含日期而是字符串。 @FunThomas 确实如此。 是的,我不需要将单元格设为日期格式,只需将当前时间和日期与文本一起粘贴即可。以上是关于使用 NumberFormat VBA Excel 添加文本的主要内容,如果未能解决你的问题,请参考以下文章