我在这里找到了关于格式化单元格部分的问题,但是colution一点都不起作用(不确定这是否与语言相关)。
Use different fonts in same Excel cell?
下面的 .text
会返回单元格的全文,而不是单字符,因此我无法检查文字是否为西方文字。
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
你知道任何关于这个故障的方法吗?
EDIT1: 我已经检查了IF的另一种方式:
InStr(1, "ABCDEFGHIJKLMNOPRSTQUVWXYZabcdefghijklmnopqrstuvwxyz1234567890", Mid(ActiveCell.Text, i, 1)) > 0
但它仍然没有更改.font.name
属性(但如果请求则更改颜色)
EDIT2:
我发现那个故障在哪里:在合并的细胞上。没有注意到我混合没有合并。我打赌下面的答案将适用于Mid
如果我找到方法,取消合并细胞而没有视觉效果。
答案 0 :(得分:1)
尝试:
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