I'm trying to insert a name and its value into a 2D array :
____________
| name| value| index 0
|name1|value1| index 1
|name2|value2| index 2 ...
.
.
.
What I have done so far :
Function ParseCSV(ByVal FileName As String)
Dim FS 'As Scripting.FileSystemObject
Dim Txt 'As Scripting.TextStream
Dim CSVLine
Dim arrayOfElements
Dim nbErrors As Integer
Dim namesNotInDb() As String
Dim element As Variant
Dim errorMsg As String
Dim namesAgeMatrix() As String
Dim nbrAges As Integer
Set FS = CreateObject("Scripting.FileSystemObject")
Set Txt = FS.OpenTextFile(FileName, 1, False)
nbrAges = 0
Do While Not Txt.AtEndOfStream
If nbrAges = 0 Then ReDim namesAgeMatrix(0, 1) Else ReDim Preserve namesAgeMatrix(nbrAges, 1)
CSVLine = Txt.ReadLine
arrayOfElements = Split(CSVLine, ",")
namesAgeMatrix(nbrAges, 0) = arrayOfElements(0)
If arrayOfElements(1) = "N/A" Then
nbErrors = nbErrors + 1
ReDim Preserve snamesNotInDb(nbErrors)
namesNotInDb(nbErrors) = arrayOfElements(0)
instrumentPriceMatrix(nbrInstruments, 1) = 0
Else
namesAgeMatrix(nbrAges, 1) = arrayOfElements(1)
End If
nbrAges = nbrAges + 1
Loop
Txt.Close
If nbErrors > 0 Then 'displaying error/success message
errorMsg = ""
For Each name In namesNotInDb
errorMsg = errorMsg & name & " "
Next
MsgBox "Warning : " & errorMsg & "have no feed in DB. Name set by default to John.", vbExclamation
Else
MsgBox "Importation success!", vbOKOnly
End If
ParseCSV = namesAgeMatrix
End Function
The error I get is : Subscription our of range
for the following :
Else ReDim namesAgeMatrix(nbrAges, 1)
How can I Redim my array the proper way?
Thanks in advance.