在范围值上使用Split分配数组时出错

我想parsing一个string从一个单元格到一个数组来分离数据,并把它放到另一个工作表。

我一直得到不能分配给数组错误,我不知道我做错了什么。 我确信数据types是正确的,甚至确保arrays上有足够的空间。

这是我的代码:

Private Sub Enter2_Click() 'Define Variables Dim MatchRow As Integer Dim data(7) As String Dim row As Integer Dim col As Integer Dim dataInfo As String Worksheets("Sheet1").Activate 'Match Name To A Row MatchRow = WorksheetFunction.Match(RName.Value, Range("A1:A100"), 0) MsgBox MatchRow 'call report Cells(MatchRow, 3).Select data() = Split(ActiveCell.Value, ".", 1) 'This is where the error comes from MsgBox data(0) Worksheets("Repoting template").Cells(20, 1).Select 

改变这个:
data() = Split(ActiveCell.Value, ".", 1)

对此:
data() = Split(ActiveCell.Value, ".")

例:
在这里输入图像说明

如果你有这样的样本数据:

在这里输入图像说明

你可以试试这个代码:

 Option Explicit Sub Test() Dim rng As Range Dim data() As String Set rng = ThisWorkbook.Worksheets("Sheet1").Range("A1") data = Split(rng.Value, ".", -1, vbBinaryCompare) Dim i As Integer For i = LBound(data) To UBound(data) Debug.Print data(i) Next i End Sub 

其中给出了以下输出:

 A B C D E F G