Valutazione 4.87/ 5 (100.00%) 5838 voti

Condividi:        

Macro per ordinare dati e spostare righe secondo + condiz.

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

Macro per ordinare dati e spostare righe secondo + condiz.

Postdi lifes80 » 10/05/11 21:02

ciao a tutti
ho una tabella come quella qui sotto, ma con circa 3000 righe.
Scrivo qui le attività che svolgo:
-Inserisco una riga ad ogni cambio di valore nella colonna C
-Seleziono tutte le righe con stesso cliente ed ordino i dati secondo questi criteri;
o Col B: da A a Z
o Col F: da Z a A
o Col H: da A a Z
-Inserisco una riga ad ogni cambio di valore nella colonna B
-Taglio la riga 8 e la incollo sotto la riga 4, perché N4=E8 e H4=F4. (nella tabella originale, questa situazione si ripete molte volte ed in righe diverse, mentre le colonne rimangono le stesse)
Per l'inserimento delle righe ho già una macro, ma non riesco a crearne una che mi aiuti con tutto il resto.

Aiuto aiuto. :cry:

Grazie

B C E F H N
Comm. Cliente Odp Codice_Padre Codice_Figlio N°_Ord
0124601 ABC OM030211 5055001001261 1SPC012035
0124602 ABC OM030246 5055201030591 502PM02Z020 11001871
0124602 ABC OM030282 5055202022811 5CRM02 11001772
0124602 ABC OM030283 5055202022861 6050003020551 C1000118
0124602 ABC OM030284 5055202022871 30134Z033 11001892
0124602 ABC OM030284 5055202022871 8ASB8X42X080 11001937
0124602 ABC OM030285 5055202022881 8AS8X42L2000 11001937
0124602 ABC C1000118 6050003020551 5355202022892 11001909
0125201 DEF OM030287 5055202022901 5355202022902 11001909
0125201 DEF OM030289 5055202022921 40134Z015 11001871
0125202 DEF OM030292 5055202022951 5G1675304312080 11001672
0125202 DEF OM030293 5055202022961 5G1675304511800 11001672
0125202 DEF OM030302 5055202033081 40234Z014 11001871
0125203 DEF OM030309 5055202052521 5355202052532 11001909
lifes80
Newbie
 
Post: 2
Iscritto il: 05/05/11 20:23

Sponsor
 

Re: Macro per ordinare dati e spostare righe secondo + condi

Postdi Anthony47 » 16/05/11 23:48

Per capire se si puo' fare qualcosa dovresti spiegare la logica delle operazioni che fai e il risultato finale che vorresti ottenere, magari corredato da un file di dati di partenza ed esempio di elaborazione.

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

Re: Macro per ordinare dati e spostare righe secondo + condi

Postdi lifes80 » 03/06/11 20:58

Ciao
hai ragione, cercherò di spiegare cosa voglio ottenere con la macro.
Inizialmente la mia tebella contiene dei dati, tra di loro collegati, ma distanziati: io voglio riunirli, secondo det. condizioni, evitando così di tagliare e inserire le righe manualmente.

I dati che mi interessano sono in queste colonne:
Col B: commessa
Col C: cliente
Col E: ODP
Col F: Codice padre
Col H: Codice figlio
Col N: nr ordine.

Per prima cosa devo inserire una riga ad ogni cambio di commessa ed ordinare i dati secondo le colonne B (da A a Z) F (da Z a A) H (da A a Z), commessa per commessa.

Poi devo spostare quelli righe per le quali è vera la condizione "commessa&codice figlio" è uguale a "commessa&codice padre"; quindi sposto la riga relativa al codice figlio sotto alla riga codice padre. Questa condizione può essere soddisfatta + volte per ogni codice padre, ossia ci possono essere più codici figli da spostare. E qui entra in gioco la seconda condizione: il nr ordine che si trova sulla riga del codice figlio, deve essere uguale all'ODP che si trova sulla riga del codice padre.
Questo perchè si presentano diverse situazioni:
1 caso: commessa+codice figlio è uguale a commessa+codice padre E nr ordine è uguale a ODP
2 caso: nr ordine è uguale a ODP ma la commessa+codice figlio non è uguale a commessa+codice padre;
3 caso: commessa+codice figlio è uguale a commessa+codice padre MA nr ordine non è uguale a ODP

Nel primo e nel secondo caso la riga contente il codice figlio va spostata sotto alla riga del codice padre.
Nel terzo caso la riga contenete il codice figlio deve essere spostata in fondo alla tabella o evidenziata in altro modo perchè la devo controllare.

Infine, se possibile, devo inserire una riga ad ogni cambio di ODP, senza separare le righe che ho appena spostato perchè soddisfano una condizione.

Spero di aver spiegato bene, perchè è un po' incasinato.

Grazie
lifes80
Newbie
 
Post: 2
Iscritto il: 05/05/11 20:23

Re: Macro per ordinare dati e spostare righe secondo + condi

Postdi Avatar3 » 03/06/11 21:27

Ho riletto un paio di volte e confermo
lifes80 ha scritto: è un po' incasinato

Segui il consiglio di Anthony47
Anthony47 ha scritto:magari corredato da un file di dati di partenza ed esempio di elaborazione.


Con questa procedura
http://www.pc-facile.com/forum/viewtopic.php?f=26&t=80395
(dopo il terzo post)
Per il funzionamento delle macro si deve impostare la protezione a Bassa o Media.
Menu Strumenti -> Macro -> Protezione...
Avatar utente
Avatar3
Utente Senior
 
Post: 569
Iscritto il: 04/04/11 09:04


Torna a Applicazioni Office Windows


Topic correlati a "Macro per ordinare dati e spostare righe secondo + condiz.":


Chi c’è in linea

Visitano il forum: Nessuno e 13 ospiti