Valutazione 4.87/ 5 (100.00%) 5838 voti

Condividi:        

Ordina dati

Vuoi potenziare i tuoi documenti Word? Non sai come si fa una macro in Excel? Devi creare una presentazione in PowerPoint?
Oppure sei passato a OpenOffice e non sei sicuro di come lavorare al meglio?

Moderatori: Anthony47, Flash30005

Ordina dati

Postdi ahidai » 06/06/16 21:45

Un saluto a tutti. Avrei bisogno di un aiuto, ecco cerco di spiegarmi. Ho tre fogli, in uno (principale) un elenco con nomi e dati, nel secondo foglio i nomi e dati del primo "copiati" con la formula cerca.vert, la stessa cosa nel terzo foglio con l'aggiunta che oltre a inserire i dati del primo foglio mi deve aggiornare i dati che inserisco manualmente nel secondo foglio sempre con la formula cerca.vert. Ho generato queste formule:

Codice: Seleziona tutto
Sub ORDINA()

    ActiveWorkbook.Worksheets("ELENCO PRINCIPALE").Sort.SortFields.Clear
    ActiveWorkbook.Worksheets("ELENCO PRINCIPALE").Sort.SortFields.Add Key:=Range _
        ("E3:E62"), SortOn:=xlSortOnValues, Order:=xlAscending, DataOption:= _
        xlSortNormal
    ActiveWorkbook.Worksheets("ELENCO PRINCIPALE").Sort.SortFields.Add Key:=Range _
        ("G3:G62"), SortOn:=xlSortOnValues, Order:=xlAscending, DataOption:= _
        xlSortNormal
    With ActiveWorkbook.Worksheets("ELENCO PRINCIPALE").Sort
        .SetRange Range("E3:N62")
        .Header = xlGuess
        .MatchCase = False
        .Orientation = xlTopToBottom
        .SortMethod = xlPinYin
        .Apply
    End With
    Call ORDINA2
End Sub


Sub ORDINA2 ()
    ActiveWorkbook.Worksheets("dati").Sort.SortFields.Clear
    ActiveWorkbook.Worksheets("dati ").Sort.SortFields.Add Key:= _
        Range("A3:A62"), SortOn:=xlSortOnValues, Order:=xlAscending, DataOption:= _
        xlSortNormal
    ActiveWorkbook.Worksheets("dati ").Sort.SortFields.Add Key:= _
        Range("D3:D62"), SortOn:=xlSortOnValues, Order:=xlAscending, DataOption:= _
        xlSortNormal
    With ActiveWorkbook.Worksheets("dati ").Sort
        .SetRange Range("A3:BC62")
        .Header = xlGuess
        .MatchCase = False
        .Orientation = xlTopToBottom
        .SortMethod = xlPinYin
        .Apply
    End With
    Call ORDINA2
End Sub

Sub ORDINA3 ()
    ActiveWorkbook.Worksheets("datieff").Sort.SortFields.Clear
    ActiveWorkbook.Worksheets("datieff ").Sort.SortFields.Add Key:= _
        Range("A3:A62"), SortOn:=xlSortOnValues, Order:=xlAscending, DataOption:= _
        xlSortNormal
    ActiveWorkbook.Worksheets("datieff ").Sort.SortFields.Add Key:= _
        Range("D3:D62"), SortOn:=xlSortOnValues, Order:=xlAscending, DataOption:= _
        xlSortNormal
    With ActiveWorkbook.Worksheets("datieff").Sort
        .SetRange Range("A3:BC62")
        .Header = xlGuess
        .MatchCase = False
        .Orientation = xlTopToBottom
        .SortMethod = xlPinYin
        .Apply
    End With
End Sub


In pratica tramite il foglio “ELENCO PRINCIPALE” inserendo altri nomi vorrei che mi ordina tutti e tre i fogli con tutti i dati.
Spero di essere stato chiaro e vi auguro una buona serata.
ahidai
Utente Senior
 
Post: 209
Iscritto il: 08/12/10 17:33

Sponsor
 

Re: Ordina dati

Postdi Anthony47 » 08/06/16 00:27

Non ho capito cosa ci stai chiedendo, comunque e' certamente un problema se dall'interno della Sub ORDINA2 richiami nuovamente ORDINA2...
Codice: Seleziona tutto
'. . .
    End With
    Call ORDINA2
End Sub

Probabilmente volevi dire Call ORDINA3

Ciao
Anthony
Win7 + Office 2010 Ita; Win 7 + Office 2013 Ita
Xp + Office 2003 Ita
E voi cosa usate? (per istruzioni vedere viewtopic.php?f=26&t=97449)
Avatar utente
Anthony47
Moderatore
 
Post: 13899
Iscritto il: 21/03/06 16:03
Località: Ivrea

Re: Ordina dati

Postdi ahidai » 08/06/16 16:39

Anthony47 ha scritto:Non ho capito cosa ci stai chiedendo, comunque e' certamente un problema se dall'interno della Sub ORDINA2 richiami nuovamente ORDINA2...
Codice: Seleziona tutto
'. . .
    End With
    Call ORDINA2
End Sub

Probabilmente volevi dire Call ORDINA3
Ciao

Ciao Anthony, grazie per la risposta. Si ordina2 è stato un mio errore che ho corretto con ordina3.
Spero di essere più chiaro, in un foglio "elenco principale" ho dei nomi con altri dati in ordine alfabetico, in un'altro foglio "dati" ho gli stessi nomi del foglio "elenco principale" e un mini calendario che aggiorno manualmente con una X in corrispondenza dei nomi se è presente o non. Inoltre nel terzo foglio "datieff" ho sempre gli stessi nomi del foglio "elenco principale" e del foglio "dati" il quale foglio mi fa un riepilogo finale del foglio "dati". Ecco quello che chiedo/vorrei, nel foglio "elenco principale" quando vado ad aggiungere una persona e ordino i nomi in ordine alfabetico vorrei che mi ordinasse gli altri due fogli con i relativi dati assegnati ad ogni nome.
Come l'ho generata la macro funziona solo come ordinamento dei nomi e non con i relativi dati assegnati ai vari nomi.
Spero di essere stato più chiaro e intanto ti ringrazio.
Buon pomeriggio.
ahidai
Utente Senior
 
Post: 209
Iscritto il: 08/12/10 17:33

Re: Ordina dati

Postdi ahidai » 11/06/16 19:52

Mi sa che mi devo arrendere, non riesco a trovare una soluzione.
ahidai
Utente Senior
 
Post: 209
Iscritto il: 08/12/10 17:33

Re: Ordina dati

Postdi Anthony47 » 12/06/16 22:10

Credo di aver capito la tua situazione di massima, ma ci sono varie situazioni subordinate; per capire quale e' la tua vera situazione e' meglio che alleghi un file di esempio con struttura e formule esatte e dati verosimili.

Ciao
Anthony
Win7 + Office 2010 Ita; Win 7 + Office 2013 Ita
Xp + Office 2003 Ita
E voi cosa usate? (per istruzioni vedere viewtopic.php?f=26&t=97449)
Avatar utente
Anthony47
Moderatore
 
Post: 13899
Iscritto il: 21/03/06 16:03
Località: Ivrea

Re: Ordina dati

Postdi ahidai » 12/06/16 23:23

Anthony47 ha scritto:Credo di aver capito la tua situazione di massima, ma ci sono varie situazioni subordinate; per capire quale e' la tua vera situazione e' meglio che alleghi un file di esempio con struttura e formule esatte e dati verosimili.
Ciao


Grazie Anthony per la risposta, allego il file sperando che sia più chiaro di quanto descritto in precedenza.

http://www.filedropper.com/provaordina
ahidai
Utente Senior
 
Post: 209
Iscritto il: 08/12/10 17:33

Re: Ordina dati

Postdi Anthony47 » 14/06/16 01:34

Perdona la scarsa reattivita', ma vorrei sapere che prove devo fare su quelle tabelle per riprodurre il problema; guardando un po' le formule, le tabelle che si incrociano e i criteri di ordinamento non mi sono fatto un'idea.

Ciao
Anthony
Win7 + Office 2010 Ita; Win 7 + Office 2013 Ita
Xp + Office 2003 Ita
E voi cosa usate? (per istruzioni vedere viewtopic.php?f=26&t=97449)
Avatar utente
Anthony47
Moderatore
 
Post: 13899
Iscritto il: 21/03/06 16:03
Località: Ivrea

Re: Ordina dati

Postdi ahidai » 14/06/16 14:43

Ciao Anthony, in pratica il foglio elenco principale è il foglio base, dove inserisco i dati, i quali dati (nome, cognome etc) vengono riportati sui fogli dati e datieff. L'ordinamento viene effettuato tramite la colonna A di ogni foglio e tramite la colonna che riporta il cognome e fin qui nessun problema. Inserite le "X" sul foglio dati tramite la formula cerca.vert me le riporta sul foglio datieff e il tutto funziona bene. Il problema nasce quando inserisco un nome nuovo e ordino in base a quanto detto prima. La colonna A e la colonna dove c'è il cognome sono ordinati correttamente, il problema sono le "X" che vengono sfalsate cioè se nel foglio dati nel mese di maggio inserisco delle "X" al cognome Nero, ordinando i dati me le ritrovo le "X" assegnate a Nero al cognome Bianco.
Spero di essere stato chiaro e ti ringrazio per la pazienza.
Ciao.
ahidai
Utente Senior
 
Post: 209
Iscritto il: 08/12/10 17:33

Re: Ordina dati

Postdi Anthony47 » 15/06/16 02:33

Prendiamo la tabella su foglio DATI; essa e' costituita da una parte fissa (le X inserite nelle giornate) e da etichette "fluide", perche' i Nominativi sono prelevati da foglio ELENCO PRINCIPALE, dove tu vuoi aggiungere nomi e cambiarne la posizione per effetto di un ordinamento.
Il risultato e' che una riga di presenze ora appartiene a Rossi, poi appartiene a Russo.
L'errore insomma sta nel manico...

Probabilmente devi ripensare il processo, suddividendolo su fogli meno collegati via formule, impostando in modo rigido l'associazione Nominativo / Presenze (o Matricola / Presenze, o CF / Presenze), prelevando informazioni accessorie che eventualmente servissero dal foglio ELENCO PRINCIPALE usando pero' un campo univoco quale la Matricola o il CF (che ora non sono previsti nei tuoi dati).

Il significato dei dati su foglio DATIEFF non l'ho capito, mi sembra un doppione di DATI.

Ciao
Anthony
Win7 + Office 2010 Ita; Win 7 + Office 2013 Ita
Xp + Office 2003 Ita
E voi cosa usate? (per istruzioni vedere viewtopic.php?f=26&t=97449)
Avatar utente
Anthony47
Moderatore
 
Post: 13899
Iscritto il: 21/03/06 16:03
Località: Ivrea


Torna a Applicazioni Office Windows


Topic correlati a "Ordina dati":


Chi c’è in linea

Visitano il forum: albval e 63 ospiti