Escribir desde array a celdas Excel vba

Necesito cómo puedo escribir desde una matriz a celdas de Excel.

Tengo tres valores en la matriz y me gustaría escribirlo en las celdas para que se vea así:

 EUR
 GBP
 Dólar estadounidense

pero no sé cómo. Espero que usted me puede ayudar. Código:

On Error Resume Next For Each element In CurrencyArray myCollection.Add Item:=element, Key:=element Next element On Error GoTo 0 ReDim CurrencyArray(1 To myCollection.Count) For element = 1 To myCollection.Count CurrencyArray(element) = myCollection(element) Next element Set Summary = Range("M1") Summary.Value = "Sum Currency" 

en este punto me gustaría escribir los valores en las celdas.

 ReDim CurrencyArray(0 To myCollection.Count, 1 To 1) For element = 1 To myCollection.Count CurrencyArray(element, 1) = myCollection(element) Next element CurrencyArray(0, 1) = "Sum Currency" Set Summary = Range("M1").Resize(UBound(CurrencyArray, 1) + 1) 'Sum currency values Dim Count As Integer Dim SumArray As Variant For Each element In CurrencyArray For Count = 2 To lRow If ws.Cells(Count, 5) = element Then SumArray = SumArray + ws.Cells(Count, 6) End If Next Count Next element Summary.Value = CurrencyArray 

Esto no funciona … Espero que me ayudes a resolver el problema. Debería verse así:

 EUR 1000 GBP 500 YEN 100 

Gracias por adelantado

El problema es que tengo una spreadsheet con diferentes valores, pero no puedo editar la spreadsheet, excepto VBA. Monto de la Moneda
1000 EUR
EUR 100
EUR 12
70 EUR
GBP 40
GBP 20

Tengo que filtrar las diferentes monedas y resumir las cantidades de las monedas. Luego me gusta configurarlo en el sitio correcto de la hoja de Excel.

EUR 1182
GBP 60

pero no sé de antemano cuántas monedas habrá o qué tan grande es la cantidad. Al principio me gusta filtrar los duplicates y luego sumr las cantidades de dinero dependiendo de la moneda.

Atentamente

Matthias

Para escribir verticalmente, debe tener una matriz 2D y un objective del tamaño adecuado. Entonces (completamente no probado):

 ReDim CurrencyArray(0 To myCollection.Count, 1 to 1) For element = 1 To myCollection.Count CurrencyArray(element, 1) = myCollection(element) Next element 'You can put the header in the first cell of an array where the first dimension is zero-based CurrencyArray(0,1) = "Sum Currency" Set Summary = Range("M1").Resize(ubound(currencyarray,1)+1) Summary.Value = CurrencyArray 

La otra opción sería TRANSPONER su matriz de una dimensión. Pero hay límites en cuanto al tamaño de una matriz que puede transponer; y, haciéndolo de la manera anterior, cuando tiene que escribir los elementos en la matriz de la colección individualmente de todos modos, guarda ese paso.

No estoy seguro si recibo tu pregunta correctamente, pero testing esto:

 Dim CurrencyArray As Variant CurrencyArray = Array("EUR", "GBP", "USD") Range("A1:A3") = Application.Transpose(CurrencyArray)