Valutazione 4.87/ 5 (100.00%) 5838 voti

Condividi:        

riordino date

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

Re: riordino date

Postdi riskismoney » 19/10/14 18:04

Ordinare l'elenco prodotto non va bene perchè se nell'elenco originario si ha una data ripetuta e non ordinata cronologicamente si otterrebbe, nell'elenco finale, due volte la stessa data.
riskismoney
Utente Senior
 
Post: 177
Iscritto il: 25/03/12 16:04

Sponsor
 

Re: riordino date

Postdi Anthony47 » 19/10/14 18:12

Questo e' un problema diverso che non avevi posto.
Hai un file di esempio da utilizzare?

Comunque io cambierei approccio:
-usando Filtro avanzato crei un elenco di tutte le date presenti nell' elenco
-con Somma.Se calcoli, nella colonna adiacente, la somma per data
-ordini l' elenco delle date

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: 13904
Iscritto il: 21/03/06 16:03
Località: Ivrea

Re: riordino date

Postdi riskismoney » 19/10/14 19:45

Anthony47 ha scritto:Questo e' un problema diverso che non avevi posto.
Hai un file di esempio da utilizzare?

Comunque io cambierei approccio:
-usando Filtro avanzato crei un elenco di tutte le date presenti nell' elenco
-con Somma.Se calcoli, nella colonna adiacente, la somma per data
-ordini l' elenco delle date

Ciao

Si è vero Anthony, è un problma diverso che non avevo posto perchè non lo avevo capito.

Non credo serva una file d'esempio. Sintentizziamo per capirci meglio:
In una determinata colonna ci sono delle date ordinate in modo non cronologico, spesso le date si ripetono.

Quel che mi serve è ottenere in modo cronologico tutte le date presenti nella colonna originaria, prese una sola volta.
Bisognerebbe quindi
a) copiare tutti le date presenti nella colonna in vba (non posso ordinare le date presenti nella colonna originaria)
b) riordinarle in modo cronologico sempre in vba
c) elencare le date presenti in modo cronologico e senza ripetere alcuna data con un ciclo

Direi che i punti a e c sono già presenti nei codici precedenti... manca il punto b.

Ciao
riskismoney
Utente Senior
 
Post: 177
Iscritto il: 25/03/12 16:04

Re: riordino date

Postdi Anthony47 » 20/10/14 00:20

Non capisco perche' continui a ignorare le ipotesi piu' semplici (pivot, filtro avanzato); comunque volendo continuare con l' approccio "solo macro" allora potresti provare con
Codice: Seleziona tutto
Sub sumbydate2()
Dim LastA As Long, NextJ As Long, I As Long
'
Range("C:D").ClearContents
Range("C1:D1").Value = Array("Data", "Somma")
LastA = Cells(Rows.Count, "A").End(xlUp).Row
For I = 2 To LastA
    If Application.WorksheetFunction.CountIf(Range("C:C"), Application.WorksheetFunction.Small(Range("A1:A" & LastA), I - 1)) = 0 Then
        NextJ = Cells(Rows.Count, 3).End(xlUp).Row + 1
        Cells(NextJ, 3) = Application.WorksheetFunction.Small(Range("A1:A" & LastA), I)
        Cells(NextJ, 4).FormulaLocal = "=somma.se(A:A;C" & NextJ & ";B:B)"  '<<1 Vedi testo
'        Cells(NextJ, 4).Value = Evaluate("=sumif(A:A,C" & NextJ & ",B:B)")  '<<2 Vedi testo
    End If
Next I
End Sub
Come nella versione precedente, le righe <<1 e <<2 sono alternative.

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: 13904
Iscritto il: 21/03/06 16:03
Località: Ivrea

Re: riordino date

Postdi riskismoney » 20/10/14 09:29

Anthony non ignoro a caso le altre ipotesi. Per quello che alla fine devo fare sarebbe preferibile una macro.
Ciò detto, l'ultima tua versione in realtà non fa ciò che mi serve, prova ad inserire nella colonna A queste date:
12/01/14
15/01/14
16/01/14
12/01/14
13/01/14
17/01/14
18/01/14
10/01/14
07/07/14
08/07/14
10/07/14
10/07/14
09/07/14
09/07/14
lascia la macro e verifica quante date mancano.
Bisogna necessariamente ordinare, prima del ciclo, le date acquisite.
Ti ringrazio, come sempre, per la tua immensa disponibilità e cortesia. :)
riskismoney
Utente Senior
 
Post: 177
Iscritto il: 25/03/12 16:04

Re: riordino date

Postdi ricky53 » 20/10/14 16:54

Ciao,
non riesco a capire perchè le tue ulteriori elaborazioni non possano utilizzare i dati prodotti con una pivot.

Una Pivot consente di elaborare agevolmente ed in modo molto semplice e dinamico i dati di una tua tabella.
Ti allego un esempio applicato alla tua situazione File di esempio

L'ordinamento dei dati non occorre provvede la pivot e ... prova a costruirti una pivot partendo dalle tue DUE colonne di dati e vedrai quanto sia semplice e POTENTE ....
Provare per credere !!!
Dice il vecchio saggio provare e riprovare è l'unica strada per imparare

Più chiara è la vostra spiegazione
Più immediata sarà la nostra soluzione


. . . . . . . . . .
S.O. W7; Office 2003-10-13-16
Avatar utente
ricky53
Utente Senior
 
Post: 4223
Iscritto il: 11/04/09 19:29
Località: Italia

Re: riordino date

Postdi riskismoney » 20/10/14 17:20

Ciao Ricky53 mettiamola cosi, non mi piacciono i pivot. :)
Se in excel è possibile ordinare una colonna dati perchè in vba non è possibile ordinare i dati copiati da una colonna? In teoria dovrebbe essere possibile ed è l'unica cosa che manca.
Grazie comunque per il tuo interesse.
Un saluto.
riskismoney
Utente Senior
 
Post: 177
Iscritto il: 25/03/12 16:04

Re: riordino date

Postdi Anthony47 » 20/10/14 18:03

Se usi Excel e non ti piacciono le pivot e' come non ti piacesse la funzione Matr.Somma.Prodotto: ti risolve, gia' pagato nel costo della licenza, tanti problemi.
Come pure, ti ho detto di creare l' elenco date uniche con fitro avanzato e poi ordinarlo, ma non so che fine ha fatto il suggerimento.
Comunque alla macro che ti ho suggerito mancava un "-1" in questa istruzione:
Codice: Seleziona tutto
        Cells(NextJ, 3) = Application.WorksheetFunction.Small(Range("A1:A" & LastA), I - 1)    '<<Mancava il "-1"

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: 13904
Iscritto il: 21/03/06 16:03
Località: Ivrea

Re: riordino date

Postdi riskismoney » 20/10/14 18:48

Come sempre siete stati geniali e vi ringrazio.
In sincerità però non capisco questo "accanimento" nel voler consigliare i pivot.
Non a tutti piace andare in giro con la Ferrari... :D
Un saluto a tutti.
riskismoney
Utente Senior
 
Post: 177
Iscritto il: 25/03/12 16:04

Re: riordino date

Postdi Anthony47 » 20/10/14 22:20

Questo accanimento e' terapeutico.
Perche' tu hai acquistato la Ferrari, hai bisogno di andare rapidamente da Lodi a Parma ma poi chiedi che il Frecciarossa faccia una fermata sotto casa apposta per te.
Alla prossima...
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: 13904
Iscritto il: 21/03/06 16:03
Località: Ivrea

Re: riordino date

Postdi ricky53 » 21/10/14 10:33

Ciao Antony
ottimi interventi e chiarimenti.


Se posso aggiungo che la voglia di apprendere deve mai mancare e bisogna sempre provare nuove soluzioni ... specialmente se ci fanno fare il lavoro in breve tempo e con poco fatica ... poi sta a te decidere come procedere.

Le pivot (queste sconosciute) mettono ... paura causa il loro nome ma vale la pena di provarle.

Buon proseguimento.
Dice il vecchio saggio provare e riprovare è l'unica strada per imparare

Più chiara è la vostra spiegazione
Più immediata sarà la nostra soluzione


. . . . . . . . . .
S.O. W7; Office 2003-10-13-16
Avatar utente
ricky53
Utente Senior
 
Post: 4223
Iscritto il: 11/04/09 19:29
Località: Italia

Re: riordino date

Postdi wallace&gromit » 21/10/14 10:47

un piccolo aneddoto:
mentre tutto il mondo usa la parola francese "pivot" i francesi le chiamano "tableaux croisés dinamiques", questo sì che incute timore, eppure le usano anche loro!
stato 2014: Office2003/2013 su win7
Avatar utente
wallace&gromit
Utente Senior
 
Post: 1421
Iscritto il: 16/01/12 14:21

Re: riordino date

Postdi ricky53 » 21/10/14 11:02

Ciao,
aneddoto veramente simpatico.

Permettetemi un po' di nazionalismo: i Francesi si distinguono sempre !!!
Dice il vecchio saggio provare e riprovare è l'unica strada per imparare

Più chiara è la vostra spiegazione
Più immediata sarà la nostra soluzione


. . . . . . . . . .
S.O. W7; Office 2003-10-13-16
Avatar utente
ricky53
Utente Senior
 
Post: 4223
Iscritto il: 11/04/09 19:29
Località: Italia

Re: riordino date

Postdi riskismoney » 21/10/14 21:40

Ciao ragazzi, che dire... in realtà avete ragione tutti. Io però ho qualche annetto in più e preferisco andare pian pianino... Scherzo, prometto che valuterò anche le pivot.
Siete grandi, grazie.
riskismoney
Utente Senior
 
Post: 177
Iscritto il: 25/03/12 16:04

Re: riordino date

Postdi ricky53 » 22/10/14 00:49

Ciao,
aggiornaci sui risultati e buon proseguimento
Dice il vecchio saggio provare e riprovare è l'unica strada per imparare

Più chiara è la vostra spiegazione
Più immediata sarà la nostra soluzione


. . . . . . . . . .
S.O. W7; Office 2003-10-13-16
Avatar utente
ricky53
Utente Senior
 
Post: 4223
Iscritto il: 11/04/09 19:29
Località: Italia

Re: riordino date

Postdi riskismoney » 28/10/14 11:31

Tralasciando, ancora una volta, i pivot (prometto che me li guarderò bene prima o poi)… la macro di Anthony ovviamente funziona alla grande, unico neo è lenta. Bisognerebbe sostituire la lettura dei dati da excel con una lettura dei dati direttamente acquisiti in vba. Mi date gentilmente quest’ultimo aiuto?
Una buona giornata a tutti.
riskismoney
Utente Senior
 
Post: 177
Iscritto il: 25/03/12 16:04

Re: riordino date

Postdi ricky53 » 28/10/14 12:47

Ciao,
quanti dati elabori nella colonna "A" ?
Hai provato a sostituire l'istruzione "1" con la "2" secondo quanto ti aveva scritto Anthony ?
Codice: Seleziona tutto
'            Cells(NextJ, 4).FormulaLocal = "=somma.se(A:A;C" & NextJ & ";B:B)"  '<<1 Vedi testo
            Cells(NextJ, 4).Value = Evaluate("=sumif(A:A,C" & NextJ & ",B:B)")  '<<2 Vedi testo




Cosa intendevi con
Bisognerebbe sostituire la lettura dei dati da excel con una lettura dei dati direttamente acquisiti in vba.


COMMENTO: come vedi prima o poi i nodi ... portano alla scelta delle PIVOT !!! Eh,Eh !!!

Ti allego un ESEMPIO di PIVOT
Dice il vecchio saggio provare e riprovare è l'unica strada per imparare

Più chiara è la vostra spiegazione
Più immediata sarà la nostra soluzione


. . . . . . . . . .
S.O. W7; Office 2003-10-13-16
Avatar utente
ricky53
Utente Senior
 
Post: 4223
Iscritto il: 11/04/09 19:29
Località: Italia

Re: riordino date

Postdi riskismoney » 28/10/14 16:44

Ciao Ricky53,
quell'istruzione è stata eleminata dal codice... mi basta solo riordinare le date.

I dati nella colonna A sono qualche migliaio ed in continuo aumento.

In merito all'ultima richiesta di chiarimento.... per le mie piccole conoscenze vba mi pare di capire che la macro legge i dati
acquisendoli di volta in volta dal foglio excel. Se invece si memorizzassero prima tutti i dati presenti nella colonna A penso, ma potrei sbagliare, che l'elaborazione sarebbe molto più veloce.
Grazie.
riskismoney
Utente Senior
 
Post: 177
Iscritto il: 25/03/12 16:04

Re: riordino date

Postdi ricky53 » 28/10/14 16:49

Ciao,
si per velocizzare si può inserire tutti i dati in una Array e poi elaborare su questa array e poi scrivere i risultati sul foglio ... non è complesso ma va fatto e ... non avendo tu una conoscenza spinta non sei autonomo ... ennesima dimostrazione che le PIVOT ti sarebbero servite e saresti stato autonomo.

Hai scaricato il mo esempio?
Dice il vecchio saggio provare e riprovare è l'unica strada per imparare

Più chiara è la vostra spiegazione
Più immediata sarà la nostra soluzione


. . . . . . . . . .
S.O. W7; Office 2003-10-13-16
Avatar utente
ricky53
Utente Senior
 
Post: 4223
Iscritto il: 11/04/09 19:29
Località: Italia

Re: riordino date

Postdi riskismoney » 28/10/14 17:01

Si Ricky l'ho scaricato e mi guarderò questi benedetti PIVOT. :).
Ora però mi servirebbe quella modifica su quel codice, se qualcuno di buon cuore ha 5 minuti da perdere.
:)
riskismoney
Utente Senior
 
Post: 177
Iscritto il: 25/03/12 16:04

PrecedenteProssimo

Torna a Applicazioni Office Windows


Topic correlati a "riordino date":


Chi c’è in linea

Visitano il forum: Nessuno e 3 ospiti