Excel VBA - 将数据从单元格解析为数组

时间:2016-06-25 21:38:25

标签: excel-vba vba excel

我在一个单元格(E2)中有数据,由逗号和空格分隔的数字组成(即1, 14, 33, 46, 22, 3)。单元格中最多可以有1,000个数字。我想取这些数字并将它们放在一个数组中,这样我就可以将它们与我称之为AudienceNumber的变量相匹配。如果数组包含数字1AudienceNumber我想将我构建数组的行(在本例中为第2行)写入新工作簿。如果数组不包含1AudienceNumber我想要转到下一行的单元格E并重复该过程。我想继续这样做,直到单元格E为空。我似乎无法将单元格E2的内容放入数组中。这就是我得到的:

Dim AudienceArray (1000) as Variant
ActiveWorkbook.Worksheets("Data").Select
Range("E2").Select
AudienceArray=Sprlit(ActiveCell.Value,",")

当我运行sub时,我得到了

  

无法分配到阵列错误

消息。我似乎无法弄清楚我做错了什么。任何帮助将不胜感激。

1 个答案:

答案 0 :(得分:0)

试试这个:

Option Explicit

    Sub Test()

        Dim ws As Worksheet
        Dim val As String
        Dim arr As Variant
        Dim i As Long

        Set ws = ActiveWorkbook.Worksheets("Data")
        val = ws.Range("E2").Text
        arr = Split(val, ",", -1, vbBinaryCompare)

        For i = 0 To UBound(arr)
            Debug.Print arr(i)
            'split retains spaces...
            Debug.Print Trim$(arr(i))
        Next i

    End Sub