如何在Excel中使用VBA删除“*”或“ – ”字符后面的文本?
我已经写了下面的代码来删除在Excel中使用VBA的行之一中的“*”或“ – ”字符之后的文本,但它给出的错误。 谁能帮忙?
Sub Removetext() For each c In Range("A1:ZZ1") c.Value = Left(c.Value, InStr(c.Value, "-") - 1) Next C End Sub
正如@JNevill和@fidnwindow的评论所说,你需要testing你的search对象是否被find:
Sub Removetext() For Each c In Range("A1:ZZ1") If InStr(c.Value, "-") > 0 Then c.Value = Left(c.Value, InStr(c.Value, "-") - 1) End If If InStr(c.Value, "*") > 0 Then c.Value = Left(c.Value, InStr(c.Value, "*") - 1) End If Next c End Sub
问题是,当InStr没有find它返回0
的标准。 所以,现在你正在寻找左-1的字符,将抛出和错误。