我有以下字符串“123 - 456789”。我想要做的是找到一种方法只捕获第二个空格后的剩余字符 - “456789” - 无论字符串的长度如何。
我有以下代码集:
For leftLoop = 2 To leftNumberOfCells
Range("A" & iRow) = Split(Range("B" & iRow).Value, " ")
Range("B" & iRow) = Mid("B" & iRow, InStr("B" & iRow, " "), 100)
iRow = iRow + 1
Next leftLoop
代码行"Range("B" & iRow) = Mid("B" & iRow, InStr("B" & iRow, " "), 100)"
是我尝试过的,除了其他方式(从在线搜索,但我似乎无法让它工作。
我有两个问题:
谢谢你的帮助!
答案 0 :(得分:3)
这涉及第2部分。
Sub strings()
Dim replace As String
Dim bCell As Range
For leftLoop = 2 To leftNumberOfCells
Set bCell = Range("B" & iRow)
replace = Mid(bCell, InStr(bCell, "-") + 2, 100)
Range("B" & iRow) = replace
iRow = iRow + 1
Next leftLoop
End Sub
答案 1 :(得分:1)
试试这个:
result = Split(TextToSplit, " ", 3)(2)
Split(TextToSplit,"",3)将在空格上分割文本,返回从零开始的数组。最后一个参数3将分裂限制为3个部分:在第一个空间之前,在第一个和第二个空间之间,以及其他所有部分。语句末尾的(2)返回数组的最后一个元素。
希望有所帮助