如何将VBA代码中的If Statement转换为Select Case Statement
替换VBA代码中的If语句为Select Case语句
以下是修改后的完整代码,将原函数中的If条件判断替换为Select Case形式,逻辑功能保持不变:
Sub Macro1() Dim str As String str = Sheets("Sheet1").Range("A1").Value hasArabic (str) End Sub Function hasArabic(str As String) As Boolean Dim i As Long Dim charCode As Long For i = 1 To Len(str) charCode = AscW(Mid(str, i, 1)) Select Case charCode Case &H600 To &H6FF hasArabic = True Exit Function End Select Next i End Function
修改说明
- 新增
charCode变量存储当前字符的Unicode编码,让代码结构更清晰; - 使用
Select Case替代原If语句,通过Case &H600 To &H6FF直接匹配目标编码区间; - 匹配成功后同样设置返回值为
True并退出函数,和原代码的执行逻辑完全一致。
内容的提问来源于stack exchange,提问作者Danny Coleiro
相关产品推荐
相关产品推荐

