Need to boost the visibility of your question for solutions? Use the Experts Exchange Help Bell to confirm priority levels and contact subject-matter experts for question attention. Check out this how-to article for more information.
but you are a good programmer and/or you have read my Guide to Writing Understandable and Maintainable Code article and so you would do it more like this.
You could then create a second array called something like dblSales to hold the sales figures. Then through some process you would fill both arrays and when you wanted to create some sort of report you would loop through both arrays to get the data. That would work, but there's a better way.
Dim strCustomerArray() As String
Your type can contain any number of built-in types and once created it can be used exactly like any of the built-in types, and so you can do the following in a procedure.
Private Type CustomerData ' May be Public in a code module strCustName As String dblSales As Double End Type
To fill the array you could do something like the following where intEntry is a variable you would increment while filling the array. (This article assumes you know how to Redim the array to initialize it and Redim Preserve it to add more entries.)
Dim CustData() As CustomerData
Rather than incrementing intEntry you can do it this way
CustData(intEntry).strCustName = ... CustData(intEntry).dblSales = ...
and not have to worry about incrementing a variable. Of course to get the data you would do something like the following.
CustData(UBound(CustData)).strCustName = ... CustData(UBound(CustData)).dblSales = ...
blah1 = CustData(intEntry).strCustName blah2 = CustData(intEntry).dblSales