在部分文本上设置字体(zh-CN,Excel)

我在这里发现关于格式化单元格的一部分的问题,但是拼写不起作用(不知道这是否与语言相关)。

在同一个Excel单元格中使用不同的字体?

下面的.text将返回单元格的全文,而不是signle字符,所以我不能检查文本是否是西文。

 Sub TMP() ' ' TMP Macro ' For i = 1 To ActiveCell.Characters.Count With ActiveCell.Characters(i) If InStr(1, "ABCDEFGHIJKLMNOPRSTQUVWXYZabcdefghijklmnopqrstuvwxyz1234567890", .Text) > 0 Then .Font.Name = Arial End If End With Next End Sub 

你知道这个小故障吗?

编辑1:我已经检查另一种方式为IF:

 InStr(1, "ABCDEFGHIJKLMNOPRSTQUVWXYZabcdefghijklmnopqrstuvwxyz1234567890", Mid(ActiveCell.Text, i, 1)) > 0 

但是它仍然不会改变.font.name属性(但是如果要求则改变颜色)

编辑2:我发现那里的毛刺是:在合并单元格。 没注意到我把他们混在一起没有合并。 我敢打赌,下面的答案将适用于Mid如果我会find办法,拆分合并细胞没有视觉效果。

尝试:

 Dim I As Long For I = 1 To ActiveCell.Characters.Count With ActiveCell.Characters(I, 1) If .Text Like "[A-Za-z0-9]" Then .Font.Name = "Arial" End If End With Next I