TOP

在西里尔文字中搜索拉丁字母,反之亦然

描述

在用西里尔文(乌克兰语或俄语)编写的文本中经常需要遇到拉丁(英语)字母。这种情况经常发生在分析和处理数据库中的文本信息期间,而文本是由没有时间切换到新键盘布局的操作员输入的。

因此,我们需要一种机制来在拉丁语中查找西里尔语,或者相反,在西里尔语中查找拉丁语。 Excel 没有用于此类目的的标准工具。下面您将在 VBA 上找到一个现成的宏,它在用西里尔文编写的文本中搜索拉丁字母,反之亦然。


在使用此宏之前,您必须将 VBA 代码添加到工作簿中。为了这:

  1. 按 ALT + F11 打开 Visual Basic 编辑器
  2. 通过菜单 Insert - Module 添加 一个新的空模块
  3. 将宏代码复制并粘贴到模块中。
  4. 保存文件并返回Excel。

现在,您可以选择一系列单元格,运行宏,从而检查文本中是否有外来字符。

搜索西里尔字母的拉丁字母

搜索拉丁字母的宏代码:

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

检查西里尔文字的结果:

有关该主题的文章:

  • 从乌克兰语音译为英语