我正在尝试创建一个宏来将一列名称(列A)导出为.csv
示例,
我想要做的只是取名字的前两部分,因为有些名字超过3个部分,所以它最终会像这样
我能够使用正常的单元格功能,但是我似乎无法使其适用于VBA。
答案 0 :(得分:1)
您可以使用Instr
从指定的起点查找字符串中的字符。所以使用它两次,第二次在第一个找到位置后开始
Function TwoWords(str As String) As String
Dim i As Long
' remove any multiple or leading /trailing spaces
str = Application.WorksheetFunction.Trim(str)
' locate 2nd space if it exists
i = InStr(str, " ")
If i > 0 Then
i = InStr(i + 1, str, " ")
If i > 0 Then
str = Left$(str, i - 1)
End If
End If
TwoWords = str
End Function
Sub Demo()
Dim str As String
' For Demo
str = TwoWords("RYAN CHRISTOPHER SMITH")
Debug.Print str
str = TwoWords("THOMAS LEE")
Debug.Print str
End Sub
在立即窗口中查看Demo
的结果