我有一个报告,在一个单元格中包含一堆文本。文本的第一部分是产品#,但长度有所不同。产品编号与其他信息之间用空格分隔。
我正在寻找编写一个宏,该宏将使用定界字符仅替换第一个空格。我通常使用“〜”。然后,这将允许我编写一个文本到列命令的脚本,该命令会将产品编号隔离在一个栏中。
答案 0 :(得分:2)
您可以使用公式进行此操作:
=LEFT(A1, FIND(" ", A1, 1)-1) & "~" & RIGHT(A1,LEN(A1) - FIND(" ", A1, 1))
将其复制下来。复制/粘贴特殊值。然后将文字转为结果
答案 1 :(得分:1)
使用VBA,可以采用以下方法:
这是功能:
Public Function ReplaceFirstSpace(myInput As String, _
Optional replacement As String = "~") As String
Dim position As Long
position = InStr(1, myInput, " ")
If position = 0 Then
ReplaceFirstSpace = myInput
Else
ReplaceFirstSpace = Left(myInput, position - 1) & _
replacement & Right(myInput, Len(myInput) - position)
End If
End Function
和一些测试:
Sub TestMe()
Debug.Print ReplaceFirstSpace("my name is")
Debug.Print ReplaceFirstSpace("slim shaddy")
Debug.Print ReplaceFirstSpace("tikitiki")
Debug.Print ReplaceFirstSpace(" taram")
Debug.Print ReplaceFirstSpace("tam ")
Debug.Print ReplaceFirstSpace("")
End Sub
答案 2 :(得分:1)
使用替换:
=REPLACE(A1,FIND(" ",A1),1,"~")