Condividi tramite

VBA Excel Allineamento dati in orizzontale

Anonimo
2018-01-22T14:18:39+00:00

Ciao a tutti,

in particolare a Norman.

tempo fa avevo sollevato la problematica in oggetto risolta splendidamente da Norman.

purtroppo mi trovo nuovamente in difficoltà nonostante io abbia provato a smanettarci sopra.

l'aggiornamento attuale è il seguente:

  • Scarico File .xls, dal sito ISTAT
  • Copio manualmente solo le colonne che mi occorrono
  • le formatto come desidero
  • faccio partire il codice per l'aggiornamento

Il codice fa sempre lo spostamento dei dati da verticale a Orizzontale ma, non capisco perchè

sulla provincia di Torino, che è quella con il maggior numero di comuni, anziché 316,

me ne carica 315.

potete aiutarmi?

Grazie mille

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

  1. Anonimo
    2018-01-22T21:21:26+00:00

    Ciao Massimo,

    mi rimane solo un dubbio da chiarire.

    Ogni anno, vengono modificate province sopprimendo/aggiungendo comuni.

    mi puoi confermare che adesso il codice funziona indipendentemente da quante province/comuni

    sono presenti nelle colonne?

    Ne sono certo!

    Qualora tu volessi verificare la mia affermazione, ti basterebbe cancellare manualmente alcuni dei comuni di Torino  dal tuo file e quindi riavviare il codice.

    ===

    Regards,

    Norman

    La risposta è stata utile?

    1 persona ha trovato utile questa risposta.
    0 commenti Nessun commento

Risposta accettata dall'autore della domanda

  1. Anonimo
    2018-01-22T16:15:26+00:00

    Ciao Massimo,

    i dati vengono presi dal file xls, scaricabile dal sito Internet dell'Istat.

    non viene fatto nulla di particolare.

    vengono solamente copiate ed incollate alcune colonne da questo file

    al file dove deve avvenire l'aggiornamento, viene sistemato solo il Layout

    e poi a quel punto parte il codice VBA che allinea i dati da verticale ad orizzontale.

    ti ho inviato il collegamento del file.

    Ho scaricato il tuo file e ho scoperto il problema il quale verte solo sulla provincia con il massimo numero di commune e che può essere risolto molto semplicemante!

    Quindi, nel mio codice del aprile scorso, sostituisci:

            With provinciaDic

                arrKeys2 = .Keys

                If .Count > iMax Then

                    iMax = .Count

                End If

            End With

    con:

            With provinciaDic

                arrKeys2 = .Keys

                If .Count > iMax Then

                    iMax = .Count +1

                End If

            End With

    Il problema era dovuto al fatto che, quando ho dimensionato l'array dei dati del Report, avevo trascurato il fatto che, oltre ai comuni, c'era un valore in più, ossia la provincia! Siccome il dimensionamento dell'array era fatto in accordo con la provincia con il massimo numero di comuni, il problema si avrebbe manifestato solo nel caso dei dati per la provincia di Torino.

    ===

    Regards,

    Norman

    La risposta è stata utile?

    1 persona ha trovato utile questa risposta.
    0 commenti Nessun commento

5 risposte aggiuntive

Ordina per: Più utili
  1. Anonimo
    2018-01-22T17:47:00+00:00

    Ciao Norman,

    ti ringrazio per l'aiuto.

    mi rimane solo un dubbio da chiarire.

    Ogni anno, vengono modificate province sopprimendo/aggiungendo comuni.

    mi puoi confermare che adesso il codice funziona indipendentemente da quante province/comuni

    sono presenti nelle colonne?

    Grazie mille.

    Massimo

    La risposta è stata utile?

    0 commenti Nessun commento
  2. Anonimo
    2018-01-22T15:14:00+00:00

    Ciao Norman,

    i dati vengono presi dal file xls, scaricabile dal sito Internet dell'Istat.

    non viene fatto nulla di particolare.

    vengono solamente copiate ed incollate alcune colonne da questo file

    al file dove deve avvenire l'aggiornamento, viene sistemato solo il Layout

    e poi a quel punto parte il codice VBA che allinea i dati da verticale ad orizzontale.

    ti ho inviato il collegamento del file.

    Grazie.

    Massimo

    La risposta è stata utile?

    0 commenti Nessun commento
  3. Anonimo
    2018-01-22T14:55:48+00:00

    Ciao Massimo,

    Prova a caricare un file di esempio mostrando i dati ottenuti dalla copia manuale e poi i risultati ottenuti da te.

    Per caricare il file su Microsoft OneDrive, vedi:

    https://support.office.com/it-it/article/Condividere-file-e-cartelle-di-OneDrive-9fcc2f7d-de0c-4cec-93b0-a82024800c07

    Nel caso di DropBox, vedi:

    https://www.dropbox.com/it/help/topics/sharing_files_and_folders

    ===

    Regards,

    Norman

    La risposta è stata utile?

    0 commenti Nessun commento