如何在 VBA 中使用通配符(附示例)

如何在 VBA 中使用通配符(附示例)

您可以在 VBA 中使用Like运算符和以下内置通配符来搜索字符串中的特定模式:

* : 匹配任意数量的字符

? : 匹配单个字符

# : 对应单个数字

[] :匹配范围内的任意字符

以下示例展示了如何在实践中使用这些通配符。

示例 1:使用 *通配符搜索子字符串

假设 A 列中有以下食物列表:

我们可以创建以下宏来搜索 A 列中每个字符串中的“热门”子字符串,并将结果显示在 B 列中:

Sub FindString()

Dim i As Integer

For i = 2 To 10

If Range(" A " & i) Like " *hot* " Then

Range(" B " & i) = " Contains hot "

Else

Range(" B " & i) = " Does Not Contain hot "

End If

Next i

End Sub

当我们运行这个宏时,我们会收到以下输出:

示例 2:使用通配符 * 搜索以模式结尾的字符串

假设 A 列中有以下篮球队名称列表:

我们可以创建以下宏来搜索 A 列中以“ets”结尾的字符串,并将结果显示在 B 列中:

Sub FindEndingString()

Dim i As Integer

For i = 2 To 10

If Range(" A " & i) Like " *ets " Then

Range(" B " & i) = " Ends in ets "

Else

Range(" B " & i) = " Does Not End in ets "

End If

Next i

End Sub

当我们运行这个宏时,我们会收到以下输出:

示例 3:使用通配符 # 搜索号码

假设 A 列中有以下字符串列表:

我们可以创建以下宏来搜索 A 列中包含数字的字符串,并将结果显示在 B 列中:

SubFindNumbers ()

Dim i As Integer

For i = 2 To 10

If Range(" A " & i) Like " *#* " Then

Range(" B " & i) = " Contains Numbers "

Else

Range(" B " & i) = " Does Not Contain Numbers "

End If

Next i

End Sub

当我们运行这个宏时,我们会收到以下输出:

示例4:使用通配符[]搜索多个字符

假设 A 列中有以下篮球队名称列表:

我们可以创建以下宏来在 A 列中搜索团队名称中包含 r、s 或 t 的字符串,并将结果显示在 B 列中:

Sub FindSpecificLetters()

Dim i As Integer

For i = 2 To 10

If Range(" A " & i) Like " *[rt]* " Then

Range(" B " & i) = " Contains r, s, or t "

Else

Range(" B " & i) = " Does Not Contain r, s or t "

End If

Next i

End Sub

当我们运行这个宏时,我们会收到以下输出:

注意:您可以在此处找到完整的 VBA 通配符文档。

其他资源

以下教程说明如何使用 VBA 执行其他常见任务:

VBA:如何计算字符串中字符的出现次数VBA:如何检查一个字符串是否包含另一个字符串VBA:如何计算具有特定文本的单元格

相关阅读

幸运彩票APP下载365 周易·蹇卦,古文典籍,翻译,赏析

周易·蹇卦,古文典籍,翻译,赏析

365bet体育在线比分 PS2上的拳皇哪作比较好?

PS2上的拳皇哪作比较好?

幸运彩票APP下载365 硬盘的电路板坏了,请问换个电路板要多少钱呀,在哪里有得换。

硬盘的电路板坏了,请问换个电路板要多少钱呀,在哪里有得换。

365bet体育在线比分 魅族,小米,华为哪个手机比较好?

魅族,小米,华为哪个手机比较好?

365bet体育在线比分 如何逃离金庸群侠传X神水宫:详解神水宫通关攻略

如何逃离金庸群侠传X神水宫:详解神水宫通关攻略

365商城怎么下载 GMS-001 界神之战 炎帝

GMS-001 界神之战 炎帝

365商城怎么下载 GPSTest项目常见问题与技术解析

GPSTest项目常见问题与技术解析

365bet体育在线比分 森森的意思

森森的意思

365bet体育在线比分 促销网站有哪些(优惠折扣信息网站哪个好)

促销网站有哪些(优惠折扣信息网站哪个好)