需求:如何根据条件在单元格中查找并将找到的内容输出到相邻单元格中?
例如,在单元格A1中的内容为“(VBA职场联盟) ”,单词“VBA职场联盟”在()括号中。现在想要将“VBA职场联盟”提取出来,并将其放置在相邻的单元格中,使用VBA代码如何提取单元格中的字符串?
方法:1.使用VBA中的InStr函数来查找左括号“(”和右括号“)”的位置,然后使用Mid函数来提取括号之间的内容。
代码1:
Sub Text1()Dim Myrange As Range Dim MyName As String Dim Onestr As Integer Dim endstrt As Integer For Each Myrange In Range("A1:A" & Range("A1").End(xlUp).End(xlUp).Row) MyName = Myrange.Value Onestr = VBA.InStr(1, MyName, "(") endstrt = InStr(MyName, ")") Myrange.Offset(0, 1).Value = Mid(MyName, Onestr + 1, endstrt - Onestr - 1) Next MyrangeEnd Sub
方法:2.使用Like运算符和Split函数。
Sub Text2() Dim Myrange As Range For Each Myrange In Range("A1:A" & Range("A1").End(xlUp).End(xlUp).Row) If Myrange Like "*(*)*" Then a = VBA.Split(Myrange, "(", -1) a = Split(a(1), ")", -1) Myrange.Offset(0, 1).Value = a(0) End If Next MyrangeEnd Sub
领取专属 10元无门槛券
私享最新 技术干货