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

检查西里尔文字的结果:

有关该主题的文章: