如果 "_” 不是唯一的分隔符,如何修改上述公式?
时间: 2024-09-13 18:14:16 浏览: 18
如果 "_" 不是唯一的分隔符,并且你想获取所有连续的分隔符之间的内容,你可以使用 `FIND` 和 `SUBSTITUTE` 函数结合。首先,你需要确定两个相邻的分隔符之间的长度,然后再使用循环来提取每个部分。这是一个复杂的操作,通常会涉及数组公式或者VBA。
这里提供一个基本的VBA代码示例(假设最后一个分隔符之后是一个空白,可以用 `CHAR(1)` 表示):
```vba
Sub GetTextWithoutLastDelimiter()
Dim str As String
Dim delimiter As Variant
Dim start As Long
Dim endPos() As Long
Dim i As Long
str = ActiveCell.Value
delimiter = Chr(1) ' 使用你想要查找的其他分隔符
' 获取所有分隔符的位置
endPos = Application.WorksheetFunction.Transpose(Application.WorksheetFunction.Split(str, delimiter))
' 如果最后一个元素不是空的,则减去1
If Not IsEmpty(endPos(endPos.Count)) Then
ReDim Preserve endPos(endPos.Count - 1)
End If
' 提取每个分隔符之间的文本
For i = LBound(endPos) To UBound(endPos) - 1
start = endPos(i) + 1
Debug.Print Mid(str, start, endPos(i + 1) - start - 1) ' 可视化结果,替换 Debug.Print 为你的实际存储或处理操作
Next i
End Sub
```
这个VBA代码会在每次迭代中找到连续的分隔符之间的内容,并打印出来。你可能需要根据实际需求调整代码。