我有多个单元格,其中一些带有空格[12345],有些没有[12345];我已经在其中编码了空格,但是我需要添加一行以提取没有空格的文本。是否可以在同一脚本中执行
Sub ExtractText()
Range ("X3").Select
ActiveCell.ForumulaR1C1
"=MID(RC[-23],FIND(""[ "",RC[-23])+2,FIND('' ]"",RC[-23])-FIND(''['',RC[-23])-2)"
Range ("X4").Select
End Sub
答案 0 :(得分:1)
使用:
=TRIM(MID(A1,2,LEN(A1)-2))
这将删除所有空格(如果有)。
EDIT#1
如果括号前后有材料,请使用:
=TRIM(MID(A1,FIND("[",A1)+1,FIND("]",A1,FIND("[",A1)+1)-(FIND("[",A1)+1)))
答案 1 :(得分:0)
另一种可能性:
=TRIM(REPLACE(REPLACE(A1,SEARCH("]",A1),LEN(A1),""),1,SEARCH("[",A1),""))
同时,坚持使用VBA,您可以使用Replace()
对象的Range
方法并同时对许多单元进行操作:
Sub ExtractText()
With Range("X3:X8") ' reference wanted target range
.Value2 = Range("A3:A8").Value2 ' have reference range values as corresponding column A range ones
.Replace what:="*[", replacement:="", lookat:=xlPart 'get rid of text left of opening bracket (included)
.Replace what:="]*", replacement:="", lookat:=xlPart 'get rid of text right of closing bracket (included)
.Replace what:=" ", replacement:="", lookat:=xlPart ' trim
End With
End Sub