excel vba 查找一串文本中的第一个汉字的位置
答案:2 悬赏:70 手机版
解决时间 2021-02-20 17:08
- 提问者网友:最爱你的唇
- 2021-02-20 00:25
excel vba 查找一串文本中的第一个汉字的位置
最佳答案
- 五星知识达人网友:千夜
- 2021-02-20 01:30
Sub RegTest()
Dim oRegExp As Object
Dim oMatches As Object
Dim sText As String
sText = "abc这是v一个正则表达式b的范例程序a代码"
Set oRegExp = CreateObject("vbscript.regexp")
With oRegExp
'设置是否匹配所有的符合项,True表示匹配所有, False表示仅匹配第一个符合项
.Global = False
.Pattern = "[\u4e00-\u9fa5]" '代表单个汉字
'判断是否可以找到匹配的字符,若可以则返回True
If .Test(sText) Then
Set oMatches = .Execute(sText)
fi = oMatches(0).firstindex '汉字位置
subs = Left(sText, fi) '汉字前面的内容
Debug.Print subs
End If
End With
Set oRegExp = Nothing
Set oMatches = Nothing
End Sub以上利用正则表达式
Dim oRegExp As Object
Dim oMatches As Object
Dim sText As String
sText = "abc这是v一个正则表达式b的范例程序a代码"
Set oRegExp = CreateObject("vbscript.regexp")
With oRegExp
'设置是否匹配所有的符合项,True表示匹配所有, False表示仅匹配第一个符合项
.Global = False
.Pattern = "[\u4e00-\u9fa5]" '代表单个汉字
'判断是否可以找到匹配的字符,若可以则返回True
If .Test(sText) Then
Set oMatches = .Execute(sText)
fi = oMatches(0).firstindex '汉字位置
subs = Left(sText, fi) '汉字前面的内容
Debug.Print subs
End If
End With
Set oRegExp = Nothing
Set oMatches = Nothing
End Sub以上利用正则表达式
全部回答
- 1楼网友:北城痞子
- 2021-02-20 01:35
private sub worksheet_change(byval target as range)
if target.column = 3 and target.row > 3 and target.row < 14 and target.count = 1 then
application.enableevents = false
if range(target.address) <> "" then range(target.address) = range(target.address) & "号"
application.enableevents = true
end if
end sub
我要举报
如以上回答内容为低俗、色情、不良、暴力、侵权、涉及违法等信息,可以点下面链接进行举报!
点此我要举报以上问答信息
大家都在看
推荐资讯