将字符串插入到只有整数的单元格中,同时保持字体 - VBA

Insert string into cell with only integers while keeping fonts- VBA

我正在尝试使用 VBA 将文本附加到 excel 单元格中。目前我正在使用:

Range("A1").Characters(Len(Range("A1")) + 1).Insert ("text")

这适用于带有文本的单元格,但如果单元格仅包含数字(整数),则会引发错误:

Run-time error '1004' Insert method of Characters class failed

单元格中的部分文本使用不同的字体或加粗,我需要保持这种状态。

我也曾尝试将单元格的 NumberFormat 更改为常规,但没有帮助:

Range("A1").NumberFormat = "@"

如果有人知道如何将文本附加到仅包含具有不同字体的整数的单元格,请回答。

与字符串不同,包含实际数字的单元格(但不是看起来像数字的字符串)不能对单个字符应用格式。

因此根据数据类型拆分处理1

Dim cell as Range
Dim AppendText as String
AppendText = "text"
Set cell = Range("A1")
If TypeName(cell.Value2) <> "String" Then
    cell.Value2 = cell.Value2 & AppendText
Else
    cell.Characters(Len(cell.Value2) + 1).Insert AppendText
End If

在此 运行 之后,以前是数字的单元格现在将是字符串,并且 可以 格式化单个字符。

备注:

  1. 您可能还想考虑其他数据类型:布尔值、日期...