如何删除单元格中第一个空格之后的所有字符?

我有一个城市名称列表,后面跟着它们所在的状态,全部位于Excel的一列中。 如何删除第一个空格后的所有内容,以便城市名称是单元格中剩下的唯一内容?

例如:A1 =“johnson TX”
应该只是A1 =“johnson”

我假设你想要一个VBA解决scheme,因为你标记你的问题excel-vba 。

这工作:

Sub KeepCity() Dim strCityAndState As String Dim strCityOnly As String strCityAndState = Range("A1").Value strCityOnly = Left(strCityAndState, InStr(strCityAndState, " ") - 1) Range("A2").Value = strCityOnly End Sub 

如果你不想要VBA,而想要一个单元格公式,那么@ JToland的答案工作正常,虽然这一个更简洁,不保留后面的空格字符:

 =LEFT(A1, FIND(" ",A1)-1) 

那么做这样的事情

 =Mid(A1, 1, Find(" ",A1)) 

在另一列中应该抓住“” 之前的所有文字。 所以你可以build立另一个只有所有城市名称的列,然后你可以使用该列来达到你的目的。

如果您正在查找VBA函数,则可以使用Left和InStr,如下所示。

Dim Temp As String:Temp =“Hello_World!这是我的第一个答案:D”

Temp = Left(Temp,InStr(Temp,“”)-1)

在这种情况下, Temp将是“Hello_World!”