如何分隔列中的所有字符串并将每个子字符串粘贴到其他列?(由VBA提供)

use*_*996 1 excel vba excel-vba

现在我在A栏中有这样的字符串:

aa-bb-cc-123

aa-bb-cc-345

aa-bb-cc-789

etc...
Run Code Online (Sandbox Code Playgroud)

如何在VBA中用" - "分隔字符串并将每个子字符串粘贴在不同的列中?举个例子:

column W    column X    column Y    column Z

aa          bb          cc          123

aa          bb          cc          456

aa          bb          cc          789
Run Code Online (Sandbox Code Playgroud)

任何帮助,将不胜感激!

The*_*man 5

您可以尝试以下代码:

Sub split_AtoW()

Dim x As Long, mydata
For x = 1 To Range("A65526").End(xlUp).Row 'x = first row here, so change to 2 if header row exists
    mydata = split(Range("A" & x), "-") 'put data in column A into an array split by "-"
    Range("W" & x).Resize(1, UBound(mydata) + 1).Value = mydata 'put data in the split array into W onwards
Next x

End Sub
Run Code Online (Sandbox Code Playgroud)