带有两个自定义分隔符的Excel TextToColumns

我正在尝试使用VBA来分隔单元格中的文本,同时使用连字符和正斜杠作为分隔符。 使用一个或另一个是相当简单的。 但是,这些字符都不是Excel中的标准分隔符,我无法弄清楚如何使用两个自定义分隔符。

我知道Excel有一个文本到列的function,使用起来更容易,不需要我编写任何代码,但这是一个大型项目的一部分,需要它在VBA中。

这是我有的代码。

Dim wireIDCell As Range Set wireIDCell = Range("A1") wireIDCell.TextToColumns Destination:=Range("B1"), DataType:=xlDelimited, _ Other:=True, OtherChar:="/" 

试图用string函数做某种魔术将成为我的下一个想法,但我想知道如果有人在那里有更好的想法

在@Jeepedbuild议限制为单个分隔符之后,我使用SUBSTITUTE Function将正斜杠的连字符replace为所有实例。 最后,按照Macrologging器添加了Text-To-Column的VBA代码,即不是简单的。 这是因为我希望OP有弹性来为更多的分隔符实例提供保留。 PL。 尝试这个:

  Sub Text_to_col() Dim rng As Range Dim r As Range Set rng = ActiveSheet.UsedRange For Each r In rng r.Value = Application.WorksheetFunction.Substitute(r.Value, "-", "/") Next r With ActiveSheet.UsedRange.Columns("A").Cells .TextToColumns Destination:=Range("A1"), DataType:=xlDelimited, _ TextQualifier:=xlNone, ConsecutiveDelimiter:=False, Tab:=False, _ Semicolon:=False, Comma:=False, Space:=False, Other:=True, OtherChar _ :="/", FieldInfo:=Array(Array(1, 1), Array(2, 1), Array(3, 1), Array(4, 1)), _ TrailingMinusNumbers:=True End With End Sub [![snapshot of sample data and results][1]][1] 

在这里输入图像说明