在一定数量的空格后删除字符串的右半部分

时间:2015-02-18 22:34:02

标签: string excel excel-vba vba

我正在Excel中编写一个从单个单元格中读取一些文本的宏。

ProductID = rw.Cells(1, 1).Text

但是,单元格可能包含一些缓冲区字符,特别是5个连续的空格字符。我想在5个空格(包括空格)之后删除所有字符(长度和实际文本可能会有所不同)。

所以如果字符串是:

MyProduct123     removethis

所需的字符串是

MyProduct123

似乎我可以用

删除5个空格
Replace(MyProductStr, "     ", "")

但是如何获取右侧字符串的位置或文本以删除它?

1 个答案:

答案 0 :(得分:1)

你可以使用InStr来查找五个空格的起始位置,然后Left在此之前只取出字符串的一部分:

Dim pos As Integer

pos = InStr(ProductID, "     ")

If pos > 0 Then
   ProductID = Left(ProductID, pos - 1)
End If