Condividi:        

Help - Help come raggruppare?

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

Help - Help come raggruppare?

Postdi bart1960 » 16/10/06 10:54

Ringrazio anticipatamente chi può togliermi da questo impiccio di lavoro.
Ho un file excel dove sono presenti seguenti dati

serie_esterna-----numero_doc---
----120-------------1
----120-------------2
----120-------------3
----128-------------1
----128-------------2
----128-------------4
----120-------------4
----120-------------6
----128-------------6
Dovrei ottenere un file cosi composto:
serie_esterna-----da_numero_doc-----a_numero_doc
----120---------------1----------------------3
----128---------------1----------------------2
----128---------------4---------------------4
----120---------------4---------------------4
----120---------------6---------------------6
----128---------------6---------------------6 ecc. ecc
I trattini ovviamento non ci sono.
Scusate se l'esempio e esagerato, ho cercato di essere il piu chiaro
possibile
Una grazie a tutti
bart1960
Newbie
 
Post: 2
Iscritto il: 16/10/06 10:41

Sponsor
 

Postdi Anthony47 » 16/10/06 12:25

Ciao bart,
io lo farei tramite una tabella pivot:
-seleziona completamente le 2 colonne con i dati;
-Menu ->Dati ->Rapporto tabella pivot;
-si apre una finestra di procedura guidata; scegli Avanti, Avanti e poi Layout
-si apre la finestra "Layout" con a destra le intestazioni delle 2 colonne e a sinistra uno schema bianco con righe e colonne;
-trascini l' intestazione “Serie esterna” nella area delle righe, a sinistra;
-trascini 2 volte l' intestazione “Numero doc” nella area delle colonne;
-fai doppioclick sulla prima scritta “Numero doc” e scegli "Min", chiudi con Ok;
-fai doppioclick sulla seconda scritta “Numero doc” e scegli "Max", chiudi con Ok;
-Chiudi con Ok la finestra Layout e con Fine la finestra Creazione guidata (di default la tabella e’ creata su un nuovo foglio, ma puoi scegliere di crearla su uno dei fogli esistenti).

Dovresti ottenere una tabella con tutte le “Serie esterne” e Min e Max dei Documenti, probabilmente su due righe invece che su due colonne come penso tu preferisca.
Per cambiare formato tabella, visualizza la barra degli strumenti Tabella pivot (Menu ->Visualizza ->Barra degli strumenti; spunta Tabella pivot”), poi selezioni la prima cella in alto a sx della tabella, premi il pulsante Formatta rapporto che trovi tra gli strumenti Tabella pivot, scegli dall’ elenco un formato che ti piaccia (basta provarli uno dopo l’ altro).

Se hai un elenco lungo, la tabella pivot potrebbe aumentare alquanto la dimensione del tuo file (verifica la dimensione prima e dopo aver salvato il file con la pivot); se questo ti da’ fastidio:
-seleziona la prima cella della tabella;
-tasto destro, scegli “Opzioni tabella”
-nella finestra che si apre togli la spunta a “Salva i dati con il layout della tabella” e spunta “Aggiorna all’ apertura”

Per aggiornare i dati in tabella man mano che aggiungi dati nel tuo elenco devi selezionare la tabella e con tasto dx scegliere “Aggiorna dati”. In alternativa registrati una macro mentre fai questa operazione, poi crei un pulsante (barra degli strumenti, Moduli) a cui assegni il nome della macro.

Facci sapere, ciao.
Avatar utente
Anthony47
Moderatore
 
Post: 19438
Iscritto il: 21/03/06 16:03
Località: Ivrea

Postdi bart1960 » 16/10/06 14:50

Grazie per l'interessamento purtroppo però la tabella pivot nonserve al mio scopo in quanto mentre la seerie esterna possiamo considerarla univoca la numerazione non è sequenziale e io devo ottenere un report dove venga indicato il numero min e max di ogni range sequenziale che si viane ad ottenere Il range può essere composto anche da un solo numero
Vedi (numero 6).
serie_esterna-----numero_doc---
----120-------------1
----120-------------2
----120-------------3
----120-------------4
----120-------------6
----120-------------8
----120-------------9
Dovrei ottenere un file cosi composto:
serie_esterna-----da_numero_doc-----a_numero_doc
----120---------------1----------------------4
----120---------------6----------------------6
----120---------------8---------------------9
bart1960
Newbie
 
Post: 2
Iscritto il: 16/10/06 10:41

Postdi Alexsandra » 16/10/06 15:24

Vediamo se ho capito.

al n° 6 c'è un errore di battitura (il 120 sarà 128 o altro n°)

tu vuoi raggruppare in un altro foglio il range della serie esterna.

es. la serie esterna è allocata nella colonna A e nella colonna B hai il n° documento.
Vuoi scorrere tutto il range della colonna A che ti crei un riepilogo contando i valori che trova nella colonna B e in più riportando gli stessi.

nel tuo caso quando trova il valore 120 scorrendo la colonna A ti riporta che i documenti relativi a quel valore hanno corrispondenza dal doc. 1 al doc. 4 consultando la colonna B

Correggimi se sbaglio ad interpretare. Inoltre vorrei sapere come inserisci i dati, manualmente nelle colonne A e B oppure in che modo?
- Il primo fondamento della sicurezza non e' la tecnologia, ma l'attitudine mentale.

Win7 + Office 2003 Ita
Avatar utente
Alexsandra
Utente Senior
 
Post: 2358
Iscritto il: 09/01/06 20:31

Postdi Anthony47 » 16/10/06 22:04

Ciao bart,
Effettivamente era chiaro che le numerazioni potevano non essere contigue, ma io l' ho notato solo dopo la tua risposta.
Va quindi fatto in vba, e credo che alexsandra abbia gia' in mente lo schema di soluzione. Attendi fiducioso...

Ciao a tutti.
Avatar utente
Anthony47
Moderatore
 
Post: 19438
Iscritto il: 21/03/06 16:03
Località: Ivrea

Postdi Alexsandra » 17/10/06 07:43

Dovrebbe rispondere bart se la mia interpretazione è giusta, poi per il resto ........ non è che abbia molto tempo ora col nuovo incarico.

Una volta chiarito il procedimento lo puoi fare anche tu col vba :D , mi ha incuriosito il post e la sequenza da fare.

Avevo fatto una cosa simile per un mio amico tempo fa, solo che non riepilogava così, ma registravo i vari .doc fatti con word, con n° di protocollo contabile, descrizione dell'oggetto del file, e link con comando per apertura del documento direttamente da excel.E' un pò diverso da quello che chiede bart.
- Il primo fondamento della sicurezza non e' la tecnologia, ma l'attitudine mentale.

Win7 + Office 2003 Ita
Avatar utente
Alexsandra
Utente Senior
 
Post: 2358
Iscritto il: 09/01/06 20:31

Postdi Anthony47 » 17/10/06 13:09

Ciao a tutti,
col permesso di Alexsandra :) :D sottopongo la mia interpretazione.
Per ottenere quanto descritto mi sembra utile il seguente codice:

Codice: Seleziona tutto
Dim CDoc, OldDoc, CSer, OldSer, FoglioDati, FoglioOut
 
Sub Bart1960()
FoglioDati = "Foglio1"
FoglioOut = "Foglio2"
 

'Ordina per Serie e per doc
Sheets(FoglioDati).Select
Columns("A:B").Select
'Selection.Sort Key1:=Range("A2"), Order1:=xlAscending, Key2:=Range("B2") _
        , Order2:=xlAscending, Header:=xlGuess, OrderCustom:=1, MatchCase:= _
        False, Orientation:=xlTopToBottom, DataOption1:=xlSortNormal, DataOption2 _
        :=xlSortNormal
Range("A1").Select
 
LastRow = Range("A65536").End(xlUp).Row
 
Sheets(FoglioOut).Select
'Azzera
Cells.Select
    Selection.ClearContents
'Intesta le colonne di summary
Range("A1").Value = "Serie"
    Range("B1").Value = "From"
    Range("C1").Value = "to"
'Cerca su FoglioDati e compila FoglioOut
For I = 1 To LastRow
Sheets(FoglioDati).Select
Range("A1").Offset(I, 0).Select
CSer = ActiveCell.Value
CDoc = ActiveCell.Offset(0, 1).Value
If CSer <> OldSer Then
 Call NewLine
 GoTo Nexti
End If
If CDoc <> OldDoc + 1 Then Call NewLine
Nexti:
OldDoc = CDoc
Next I
 
End Sub
 
Sub NewLine()
 Sheets(FoglioOut).Select
 If OldDoc <> "" Then Range("C65536").End(xlUp).Offset(1, 0).Value = OldDoc
 Range("A65536").End(xlUp).Offset(1, 0).Select
 ActiveCell.Value = CSer
 ActiveCell.Offset(0, 1).Value = CDoc
 OldDoc = CDoc
 OldSer = CSer
 
End Sub


SE INVECE VUOI OTTENERE quest' altro risultato, bisogna togliere l' apice in testa all' istruzione Selection.Sort Key1:=Range("A2"),etc etc In questo modo i dati prima di essere elaborati vengono ordinati per Serie e per Numero Doc.

Serie- From- to
120---- 1------ 4
120---- 6------ 6
128---- 1------ 2
128---- 4------ 4
128---- 6------ 6

Istruzioni:
Incollare tutto il codice sul foglio Modulo1 del vba
-apri vba editor (Alt-F11); se nel frame "Progetto" a sx esiste la cartelletta Moduli, cliccare per aprire Modulo1; se non esiste: Menu ->Inserisci ->Modulo
-copia il codice e incollalo sul frame a destra
-assegnare un tasto di scelta rapida (da excel: Menu ->Strumenti ->Macro ->Macro; seleziona la macro bart1960 e premere Opzioni; impostare un tasto alla macro, es S (maiuscolo) come summary. Oppure disegnare un pulsante (dalla barra degli strumenti "Moduli") e assegnargli la macro.

Uso:
-modificare se necessario le impostazioni iniziali (FoglioDati = "Foglio1" e FoglioOut = "Foglio2")
-eventualmente modificare le intestazioni del foglio di uscita modificando le 3 istruzioni che seguono il commento "Intesta le colonne di summary"
-la macro richiede che i dati siano in colonna A (serie) e B (numero documento); altrimenti va adattata.
-attivando la macro (tasto di scelta rapida, o pulsante, o da vba editor), i dati di Foglio1 (o quanto specificato in FoglioDati) vengono letti e un summary viene creato in Foglio2 (FoglioOut).


Bart, prova e facci sapere; se necessario si puo' migliorare per rendere parametrizzabile l' area di FoglioDati.

Ciao,
Avatar utente
Anthony47
Moderatore
 
Post: 19438
Iscritto il: 21/03/06 16:03
Località: Ivrea

Postdi Alexsandra » 17/10/06 19:12

Anthony47 ha scritto:Ciao a tutti,
col permesso di Alexsandra :) :D ...
Non hai bisogno del mio permesso Antony, anche se in passato abbiamo avuto delle divergenze non vuol dire che tutto quello che posti sia sbagliato, anzi.

Proverò il tuo codice, in attesa di una risposta di bart.
Credo che il "problema" (è tra virgolette) sia proprio questo, quelli che postano le soluzioni a volte (anche per motivi di tempo, di lavoro etc..) sono costretti ad anticipare le risposte e andare per ipotesi, mentre invece se venisse postata in fretta una risposta o un chiarimento da chi ha aperto il topic tutto sarebbe più semplice e lineare.

Credo che sia questo quello che abbiamo "dibattuto" qualche topic fa :D , ora vedento il tuo intervento ne ho approffitato per chiarire.

meglio tardi che mai no :D ciao
- Il primo fondamento della sicurezza non e' la tecnologia, ma l'attitudine mentale.

Win7 + Office 2003 Ita
Avatar utente
Alexsandra
Utente Senior
 
Post: 2358
Iscritto il: 09/01/06 20:31

Postdi Anthony47 » 18/10/06 00:10

Ciao Alexsandra,
ovviamente il "permesso di Alexsandra" voleva essere una battuta buttata li, mentre la soluzione proposta e' anche una sollecitazione all' Utente che ha aperto la discussione a dialogare e spiegare meglio i suoi bisogni.

Un saluto a tutti,
Avatar utente
Anthony47
Moderatore
 
Post: 19438
Iscritto il: 21/03/06 16:03
Località: Ivrea

Postdi Alexsandra » 18/10/06 09:22

Anthony47 ha scritto:Ciao Alexsandra,
ovviamente il "permesso di Alexsandra" voleva essere una battuta buttata li, mentre la soluzione proposta e' anche una sollecitazione all' Utente che ha aperto la discussione a dialogare e spiegare meglio i suoi bisogni.

Un saluto a tutti,
Tranquillo ho visto le faccine ed ho capito benisso che era una battuta, ne ho solo approffitato per segnalare che molte volte dobbiamo andare per intuito, in quanto gli utenti non sono molto chiari. :D
- Il primo fondamento della sicurezza non e' la tecnologia, ma l'attitudine mentale.

Win7 + Office 2003 Ita
Avatar utente
Alexsandra
Utente Senior
 
Post: 2358
Iscritto il: 09/01/06 20:31


Torna a Applicazioni Office Windows


Topic correlati a "Help - Help come raggruppare?":


Chi c’è in linea

Visitano il forum: Nessuno e 66 ospiti