现在有这样一种场景,要对下图中批量数据中括号内的内容提取出来,现在我们通过VBA代码来实现
- 先贴出代码
Sub ÌáÈ¡À¨ºÅÖÐ×Ö·û()
For i = 2 To ActiveSheet.Cells(Rows.Count, 1).End(xlUp).Row
a = ActiveSheet.Cells(i, 1).Value
b = Split(a, "(", -1, vbBinaryCompare)
c = Split(b(1), ")", -1, vbBinaryCompare)
' MsgBox c(0)
Sheet1.Cells(i, 2).Value = Trim(b(0))
Sheet1.Cells(i, 3).Value = Trim(c(0))
Next
End Sub
今天讨论是个比较简单的例子,只需要一个split就可以实现把括号中的内容提取出来。
代码的思想是对第一列的每个单元格进行循环:
For i = 2 To ActiveSheet.Cells(Rows.Count, 1).End(xlUp).Row
Next
然后在循环内部对每个单元格通过两次split,这里先是以“(”分成两个数组,然后再通过“)”将第二个数组再分割,得到括号中的内容
最后,将得到的值赋给相邻的单元格:
Sheet1.Cells(i, 2).Value = Trim(b(0))
Sheet1.Cells(i, 3).Value = Trim(c(0))
这里的trim是去除内容中的空格。。。
最后得到的效果就是这样的:
希望能对大家有所帮助,共同进步~~