在用西里尔文(乌克兰语或俄语)编写的文本中经常需要遇到拉丁(英语)字母。这种情况经常发生在分析和处理数据库中的文本信息期间,而文本是由没有时间切换到新键盘布局的操作员输入的。
因此,我们需要一种机制来在拉丁语中查找西里尔语,或者相反,在西里尔语中查找拉丁语。 Excel 没有用于此类目的的标准工具。下面您将在 VBA 上找到一个现成的宏,它在用西里尔文编写的文本中搜索拉丁字母,反之亦然。
在使用此宏之前,您必须将 VBA 代码添加到工作簿中。为了这:
现在,您可以选择一系列单元格,运行宏,从而检查文本中是否有外来字符。
搜索拉丁字母的宏代码:
Sub ShowLatin() 'moonexcel.com.ua Dim c As Range, i As Long For Each c In Selection For i = 1 To Len(c) If Mid$(c, i, 1) Like "[A-Za-z]" Then c.Characters(Start:=i, Length:=1).Font.ColorIndex = 3 Next i, c End Sub
拉丁文文本检查结果:
搜索西里尔字母的宏代码:
Sub ShowCyrylic() 'moonexcel.com.ua Dim c As Range, i As Long For Each c In Selection For i = 1 To Len(c) If Mid$(c, i, 1) Like "[А-Яа-я]" Then c.Characters(Start:=i, Length:=1).Font.ColorIndex = 3 Next i, c End Sub
检查西里尔文字的结果: