我无法提取文本的第一个单词并将其复制到新单元格中。这就是我到目前为止所拥有的。任何帮助将不胜感激。
Private Sub CommandButton1_Click()
Dim i As Integer
Dim str As String
Dim lonstr As String
i = 1
For i = 1 To 500
str = Worksheets("SR060-SR070(2)").Cells(i + 1, "D").Text
longstr = GETFIRSTWORD(str)
Worksheets("SR060-SR070(2)").Cells(i + 1, "U").Value = longstr
Next i 'goes to next row
End Sub
Function GETFIRSTWORD(Text As String, Optional Separator As Variant)
Dim firstword As String
If IsMissing(Separator) Then
Separator = " "
End If
firstword = Left(Text, InStr(1, Text, Separator, vbTextCompare))
GETFIRSTWORD = Replace(firstword, Separator, "")
End Function
答案 0 :(得分:0)
类似的东西:
Private Sub CommandButton1_Click()
Dim i As Long
For i = 1 To 500
With Worksheets("SR060-SR070(2)")
.Cells(i + 1, "U").Value = GetFirstWord(.Cells(i + 1, "D").Text)
End With
Next i 'goes to next row
End Sub
Function GetFirstWord(Text As String, Optional Separator As String="")
GetFirstWord = Split(Text, Separator)(0)
End Function
答案 1 :(得分:0)
如果您想变得疯狂,您实际上可以用一个Evaluate()
替换整个代码:
Dim r As Range
Set r = Range("D1:D500")
Range("U1:U500") = Evaluate("IF(ROW(1:" & r.Count & "),IF(ISERROR(FIND("" ""," & r.Address & "))," & r.Address & ",LEFT(" & r.Address & ",FIND("" ""," & r.Address & ")-1)))")