No, you pass it the entire array and it returns a new array which contains a lot of sub-arrays. It's more difficult to explain that demonstrate but if you think of it as returning an array with each of your spreadsheet columns in each element you won't be far wrong.

There is a problem with my UDF though in that it expects the source array to be in one orientation, and if it isn't the results are not what you expect. I've updated it with an optional flag so that you can select the orientation as the ReadExcel2() returns the array in a counter-intuitive orientation.

 Code:
; Convert a 2D array to an array of 1D arrays
Function Array2Vector($A,Optional $iSwitch)
	Dim $i,$t,$e

	If $iSwitch $X=2 $Y=1 Else $X=1 $Y=2 EndIf

	Redim $Array2Vector[UBound($A,$X)]

	For $i = 0 To UBound($A,$X)
		Redim $e[UBound($A,$Y)]
		For $t=0 To UBound($a,$Y)
			If $iSwitch $e[$t]=$A[$t,$i] Else $e[$t]=$A[$i,$t] EndIf
		Next
		$Array2Vector[$i]=$e
	Next

	Exit 0

EndFunction


Paste that into your code and try this:
 Code:
$NewArray = Array2Vector($Brandshop,1)
"Column A="+Join($NewArray[0],", ")+@CRLF
@CRLF
"Column B="+Join($NewArray[1],", ")+@CRLF