使用VBA提取单元格中的字符串
问题:如何按照条件查找所给单元格中的内容,并将找到的内容放在相邻单元格中?
例如,单元格A1中的内容为“This is
分析:可以使用InStr函数来查找左尖括号“<”和右尖括号“>”的位置,然后使用Mid函数来提取尖括号之间的内容。当然,可以更简单一些,使用Like运算符和Split函数。
代码一:
Sub CopyAndDepositTextWithinBrackets1()
On Error Resume Next
Dim rngCell As Range
Dim strName As String
Dim OpenBracket As Integer
Dim CloseBracket As Integer
For Each rngCell In Range(”A1″, Range(”A1″).End(xlDown))
strName = rngCell.Value
OpenBracket = InStr(1, strName, “<”)
CloseBracket = InStr(1, strName, “>”)
rngCell.Offset(0, 1).Value = Mid(strName, _
OpenBracket + 1, CloseBracket - OpenBracket - 1)
Next rngCell
End Sub
代码二:
Sub CopyAndDepositTextWithinBrackets2()
Dim rng As Range
For Each rng In Range(”A1″, “A” & Range(”A1″).SpecialCells(xlLastCell).Row)
If rng Like “*<*>*” Then rng.Offset(, 1).Value = _
Split(Split(rng, Chr(60))(1), Chr(62))(0)
Next rng
End Sub

fecmen:
很不错啊!我以前就没见过这么处理啊。学习了!顶一下!
31 01月 2008, 4:48 pm