VBA: esportare una collection o un array su foglio

Anonimo
2015-10-01T15:16:10+00:00

Ciao

con il codice seguente, dal foglio1 inserisco in maniera univoca i dati in una collection. Sto in tutti i modi provando a trasferire poi i dati caricati nella collection nel foglio2 ma senza successo.

Ho provato anche a trasferire i dati dalla collection in un array, ma neanche cosi sono riuscito.

Dim WB as Workbook

Dim SH_Temp as Worksheet

Dim SH_Temp2 as Worksheet

Dim coll_issuer As Collection

Dim n As Integer

Dim i As Integer

Dim v As Variant

Dim lng As Long

Dim tempLast_Row

Set WB = Workbooks("Prova.xlsm")

Set SH_Temp = WB.Sheets("Foglio1")

Set SH_Temp2 = WB.Sheets("Foglio2")

Set coll_issuer = New Collection

tempLast_Row=700

On Error Resume Next

With SH_Temp

    For lng = 1 To tempLast_Row

        coll_issuer.Add .Cells(lng, 1).Value, CStr(.Cells(lng, 1).Value)

    Next

End With

n = coll_issuer.Count

SH_Temp2.Range("A1")=WorksheetFunction.Transpose(coll_issuer)

Dim k as Integer

Dim array_id As Variant

ReDim array_id(n - 1)

For k = 0 To n - 1

    array_id(k) = coll_issuer(k + 1)

Next

SH_Temp2.Range("A1")=WorksheetFunction.Transpose(array_id)

end sub

Sapete dirmi dove sbaglio?

Grazie infinite

Dario

Microsoft 365 e Office | Excel | Per la casa | Windows

Domanda bloccata. Questa domanda è stata eseguita dalla community del supporto tecnico Microsoft. È possibile votare se è utile, ma non è possibile aggiungere commenti o risposte o seguire la domanda.

0 commenti Nessun commento

Risposta accettata dall'autore della domanda

Anonimo
2015-10-01T15:28:58+00:00

Vedi (riferimenti miei ma NON dovrebbe essere difficile come funziona):

Public Sub m()

    Dim col As Collection

    Dim v As Variant

    Dim lng As Long

    Dim sh As Worksheet

    Set sh = ThisWorkbook.Worksheets("Foglio2")

    Set col = New Collection

    'codice che riempie la collection omesso nell'esempio**'<<=====**

    lng = 1

    With sh

        For Each v In col

            'metto in colonna A del Foglio2 i valori degli item della collection

            .Range("A" & lng).Value =v

        Next

    End With

    Set col = Nothing

    Set sh = Nothing

End Sub

La risposta è stata utile?

0 commenti Nessun commento

2 risposte aggiuntive

Ordina per: Più utili
  1. Anonimo
    2015-10-01T15:54:02+00:00

    Perfetto.

    Ciao e alla prossima.

    La risposta è stata utile?

    0 commenti Nessun commento
  2. Anonimo
    2015-10-01T15:47:03+00:00

    Grazie Mauro!

    con il tuo suggerimento ho risolto.

    Buona serata.

    Dario

    La risposta è stata utile?

    0 commenti Nessun commento