VBA只保留空格前的单元格值

时间:2014-08-12 06:16:42

标签: excel vba excel-vba

这似乎是一个简单的代码,但我无法在网络上的任何地方找到它。我不知道如何写它。

我想要做的是,例如,单元格区域A1的值为"嘿嘿嘿嘿嘿嘿&"。 我想要的代码是在第一个空格之后移除剩余的单词,所以剩下的只有"嘿"。

谢谢!

2 个答案:

答案 0 :(得分:7)

一行代码......

Range("A1").Value = Split(Range("A1").Value, " ")(0)

另一行代码(基于IolandaAB的回答)

If InStr(1, Range("A1").Value, " ") Then Range("A1").Value = Mid(Range("A1").Value, 1, InStr(1, Range("A1").Value, " ") - 1)

又一行代码

If InStr(1, Range("A1").Value, " ") Then Range("A1").Value = Left(Range("A1").Value, InStr(1, Range("A1").Value, " ") - 1)

接受你的选择:)我最喜欢的仍然是第一个。

答案 1 :(得分:0)

Sub extract()

Dim myString As String, lung As Integer, i As Integer, pos As Integer
myString = Range("A1").value
lung = Len(myString)

For i = 1 To lung
    pos = InStr(i, myString, " ")
    If pos <> 0 Then
        Exit For
    End If
Next i
Range("A1").value = Mid(myString, 1, pos)

End Sub

循环显示单元格中的值,并在文本中找到第一个空格时退出。在找到的空格之前提取文本并将其复制到单元格中。