【发布时间】:2015-09-26 17:27:16
【问题描述】:
我正在尝试删除列的特定字符串列表之后右侧的所有内容。
Sub KeepItem()
Dim itemDescr As Range
Dim Rng As Range
Dim xChar As Variant
Set itemDescr = Range("$D:$D")
xChar = Array(" 1", " 2", " 3", " 4", " 5", " 6", " 7", " 8", " 9", " .")
For Each Rng In itemDescr
xValue = Rng.Value
Rng.Value = Left(xValue, InStr(xValue, xChar) - 1)
Next
End Sub
这个
VITA COCO TROP 16.9OZ
ARGO CAROLINA HNY 13.5OZ GLS
ARGO GRN TEA GNGR 13.5OZ GLS
ARGO HIBISC SNGRIA 13.5OZ GLS
ARGO MOJI TEA 13.5OZ GLS
应该是这样的:
VITA COCO TROP
ARGO CAROLINA HNY
ARGO GRN TEA GNGR
ARGO HIBISC SNGRIA
ARGO MOJI TEA
我是一名 VBA 程序员新手,非常感谢您的反馈。
错误:(类型不匹配):
Rng.Value = Left(xValue, InStr(xValue, xChar) - 1)
【问题讨论】:
-
您是否要删除任何在第一次出现的数字之后(包括第一次出现的数字)?
-
您当前的代码有错误吗?您有与当前代码相关的具体问题吗?
-
@Chrismas007 感谢您指出这一点。我编辑了问题
-
@Krishna 我想删除后面的所有内容,第一次出现空格后跟数字或小数点
-
好的,更新了下面的正则表达式。这对我有用