Condividi:        

Raggruppamento dati separati..macro o formula

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

Raggruppamento dati separati..macro o formula

Postdi nignetto » 23/02/22 14:36

Ciao a tutti..vorrei risolvere questo enigma..
Ho una serie di Dati gruppi di tre in colonna così etichettati valori sono su riga 7(scrivo in riga x comodità) esempio
X 5 7 4 6 etc
Y 5 4 6 etc
Z 5 4 3 etc

X 666777
Y67777
Z66777

Etc

Ora creo tre fogli x y Z
Vorrei che in mi riportasse sempre in colonna partendo da riga 7
I valori raggruppati X di tutti i gruppi da tre.. quindi
X 5746..
X 666777
Etc

Così anche per foglio y e z
Non so se possibile con formula o con routine.. grazie mille
nignetto
Utente Junior
 
Post: 63
Iscritto il: 21/02/22 17:54

Sponsor
 

Re: Raggruppamento dati separati..macro o formula

Postdi Anthony47 » 23/02/22 15:54

X 5 7 4 6 etc
Y 5 4 6 etc
Z 5 4 3 etc

X 666777
Y67777
Z66777

Non riesco a capire come sono i tuoi dati, puoi pubblicare almeno una immagine da cui si possa capire come sono messi e l'indirizzamento riga /colonna?

Per le istruzioni su come allegare una immagine:
viewtopic.php?f=26&t=103893&p=605488#p605488

Vorrei anche sapere quale versione di Office usi.

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

Re: Raggruppamento dati separati..macro o formula

Postdi nignetto » 23/02/22 17:39

https://postimg.cc/MMdJyCRk

https://postimg.cc/xN2NzbKp

Il primo è l archivio..la seconda è come dovrebbe essere l output sui fogli
Office 2016
Grazie mille
nignetto
Utente Junior
 
Post: 63
Iscritto il: 21/02/22 17:54

Re: Raggruppamento dati separati..macro o formula

Postdi Anthony47 » 23/02/22 18:19

Se su Foglio1 le colonne sono regolarmente intercalate (x-y-z-x-y...) e i dati arrivano su riga 30, allora su A6 di foglio X:
Codice: Seleziona tutto
=INDICE(Foglio1!$A7:$Z30;0;1+(RIF.COLONNA(A1)-1)*3)

Conferma la formula con Contr-Maiusc-Enter, non il solo Enter
Poi seleziona A6:A29, premi F2, premi Contr-Maiusc-Enter

Infine copia A6:A29 verso destra q.b.

Per foglio Y invece di 1+(RIF.etc userai 2+(RIF.etc; per foglio Z ti lascio indovinare

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

Re: Raggruppamento dati separati..macro o formula

Postdi nignetto » 23/02/22 19:48

sto provando,seguendo passo passo...ma con ctrl maius enter..mi apre schermata "AGGIORNA VALORI"..Mi chiede di selezionare un file :-(
con una macro non è fattibile?
nignetto
Utente Junior
 
Post: 63
Iscritto il: 21/02/22 17:54

Re: Raggruppamento dati separati..macro o formula

Postdi Anthony47 » 23/02/22 21:17

Il foglio coi dati di partenza non si chiama Foglio1? Se "No" allora modifica la formula col vero nome del foglio.

Con macro:
Codice: Seleziona tutto
Sub XYZ()
Dim deSh As String, I As Long, NextC As Long
'
Sheets("Foglio1").Select            '<<< Il Foglio con i dati di partenza
For I = 1 To Cells(7, Columns.Count).End(xlToLeft).Column
    deSh = Cells(7, I)
    NextC = Sheets(deSh).Cells(7, Columns.Count).End(xlToLeft).Column + 1
    Range(Cells(7, I), Cells(7, I).End(xlDown)).Copy Sheets(deSh).Cells(7, NextC)
Next I
End Sub

Va copiato in un "Modulo standard" del tuo vba (vedi viewtopic.php?f=26&t=103893&p=647675#p647675 )
Il tuo file deve gia' includere i fogli X, Y e Z

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

Re: Raggruppamento dati separati..macro o formula

Postdi nignetto » 24/02/22 20:44

ciao anthony..purtroppo non riesco a farlo funzionare..in allegato il file di esempio con la posizione esatta dei dati
nel foglio "dati" fo:fq i dati che si aggiornano tramite una query web..con la routine che mi hai creato nel precedente post vengono man mano memorizzati verso destra...il raggruppamento dovrebbe avvenire come detto in x y z in modo sequenziale tutti da riga 7..se riesci a sistemare te ne sarei grato..grazie mille

https://docs.google.com/spreadsheets/d/ ... ue&sd=true
nignetto
Utente Junior
 
Post: 63
Iscritto il: 21/02/22 17:54

Re: Raggruppamento dati separati..macro o formula

Postdi Anthony47 » 25/02/22 01:55

Quindi i dati cominciano molto a dx e sono su riga 6.
Prova questa variante:
Codice: Seleziona tutto
Sub XYZ()
Dim deSh As String, I As Long, NextC As Long
'
Sheets("Foglio1").Select            '<<< Il Foglio con i dati di partenza
For I = 1 To Cells(6, Columns.Count).End(xlToLeft).Column
    deSh = Cells(6, I)
    If Len(deSh) = 1 And InStr(1, "XYZ", deSh, vbTextCompare) > 0 Then
        NextC = Sheets(deSh).Cells(6, Columns.Count).End(xlToLeft).Column + 1
        Range(Cells(6, I), Cells(6, I).End(xlDown)).Copy Sheets(deSh).Cells(6, NextC)
    End If
Next I
End Sub



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

Re: Raggruppamento dati separati..macro o formula

Postdi nignetto » 25/02/22 12:32

Grazie Anthony..stasera provo e ti faccio sapere
nignetto
Utente Junior
 
Post: 63
Iscritto il: 21/02/22 17:54

Re: Raggruppamento dati separati..macro o formula

Postdi nignetto » 25/02/22 19:06

deSh = Cells(6, I) qui va in errore..
ho ricontrollato ...nomi fogli e intestazioni ok..ma si blocca qui
nignetto
Utente Junior
 
Post: 63
Iscritto il: 21/02/22 17:54

Re: Raggruppamento dati separati..macro o formula

Postdi Anthony47 » 25/02/22 19:53

Che errore? Quante colonne sono state posizionate nei fogli X, Y e Z? Quante ne mancano? Le celle di riga 6 contengono tutte x, y o z?
Avatar utente
Anthony47
Moderatore
 
Post: 19196
Iscritto il: 21/03/06 16:03
Località: Ivrea

Re: Raggruppamento dati separati..macro o formula

Postdi nignetto » 26/02/22 00:55

ciao anthony..sbagliavo io .scusami.perche valorizzavo la riga 6 dei fogli xyz tutte rispettivamente con le xyz mentre ho visto che le mette in automatico
quindi estraeva i dati in righe sbagliate..credo va bene..2 cose solo da correggere se possibile ..una far partire la memorizzazione da colonna E di ciascun foglio XYZ (ora parte da colonna B)..l altra è l ordinamento cronologico in cui l ultimo estratto deve ritrovarsi sempre su colonna E e spostare accanto ,quindi in in F il penultimo e cosi via..esempio..primo aggiornamento ..dati in colonna E..secondo aggiornamento..dati in E e il precedente in F..terzo aggiornamento dati in E..penultimo in F e terzultimo in G e cosi via...quindi in ordine cronologico in cui E sia sempre il piu recente
si puo fare?grazie mille
nignetto
Utente Junior
 
Post: 63
Iscritto il: 21/02/22 17:54

Re: Raggruppamento dati separati..macro o formula

Postdi Anthony47 » 26/02/22 13:04

Questa versione dovrebbe gestire ambedue le richieste:
Codice: Seleziona tutto
Sub XYZ()
Dim deSh As String, I As Long, NextC As Long
'
Sheets("Foglio1").Select            '<<< Il Foglio con i dati di partenza
For I = Cells(6, Columns.Count).End(xlToLeft).Column To 1
    deSh = Cells(6, I)
    If Len(deSh) = 1 And InStr(1, "XYZ", deSh, vbTextCompare) > 0 Then
        NextC = Sheets(deSh).Cells(6, Columns.Count).End(xlToLeft).Column + 1
        If NextC < 5 Then NextC = 5
        Range(Cells(6, I), Cells(6, I).End(xlDown)).Copy Sheets(deSh).Cells(6, NextC)
    End If
Next I
End Sub

Fai sapere...
Avatar utente
Anthony47
Moderatore
 
Post: 19196
Iscritto il: 21/03/06 16:03
Località: Ivrea

Re: Raggruppamento dati separati..macro o formula

Postdi nignetto » 26/02/22 19:12

con questa non mi estrae niente..la lancio ma su x y z nulla...con la prima si ..quindi l impostazione del foglio è corretta
nignetto
Utente Junior
 
Post: 63
Iscritto il: 21/02/22 17:54

Re: Raggruppamento dati separati..macro o formula

Postdi Anthony47 » 27/02/22 09:33

Eh, hai dimenticato di inserire un pezzo mancante nel codice :D , questo qui in evidenza:
For I = Cells(6, Columns.Count).End(xlToLeft).Column To 1 Step -1

Fai ri-sapere...
Avatar utente
Anthony47
Moderatore
 
Post: 19196
Iscritto il: 21/03/06 16:03
Località: Ivrea

Re: Raggruppamento dati separati..macro o formula

Postdi nignetto » 27/02/22 15:12

bel rebus :-)..ho fatto un po di prove...ancora non mi quadra.....credo che potrebbe andare se sul foglio1 venissero inseriti riga 6 i valori x y zs ulle 3 colonne successive..esempio:aggiorno dati (fo:fq)..ilcodice inserisce in automatico x y z in fr,fs,ft e avvia la tua routine...riaggiorno dati fo:fq...inserisce x y z in fu fv fw e di nuovo codice...e cosi via...ho provato a farlo manualemte scrivendole e sembra funzioni..ma ovviamente mi serve automatizzato perche inserisco alla fine il timer (Application.OnTime Now + TimeValue etc)
nignetto
Utente Junior
 
Post: 63
Iscritto il: 21/02/22 17:54

Re: Raggruppamento dati separati..macro o formula

Postdi Anthony47 » 27/02/22 18:12

La macro che ho proposto esamina su Foglio1 tutto il contenuto di riga 6 e, in funzione della etichetta X-Y-Z che trova su riga 6, "smazza" il contenuto della colonna su foglio X, o Y o Z
Se la tua situazione e' diversa allora descrivila e vedremo cosa fare.

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

Re: Raggruppamento dati separati..macro o formula

Postdi nignetto » 27/02/22 19:16

ciao anthony,forse mi sono spiegato male..provo a descrivere meglio..
nel range fo7:fq si aggiornano i dati tramite una macro.quindi no deve essere considerato.partiamo da fr:fu
una volta aggiornati i dati ..vanno in copia a destra e poi le xyz vengono smistate nei relativi fogli nelle posizioni che abbiamo detto sopra...riaggiorno..dati nuovi a destra dei precedenti e smistati...qui arriva il punto..gli ultimi dati estratti xyz devono sempre ritrovarsi all estrema sinistra (quindi colonna e) e il penultimo in f ,terzultimo in G cosi via..come fossero in ordine cronologico il piu recente sempre in E..Probabilmenteil problema nasce se valorizzo prima le riga 6 con xyz senza che ci siano dati ovviamente inserisce colonne vuote..probabilmente credo tu abbia considerato che l estrezione venga fatta a dati acquisiti.cmq penso che se
dopo questa istruzione
Range(Range("FO7"), Range("FO" & Rows.Count).End(xlUp)).Resize(, 3).Copy Cells(7, Columns.Count).End(xlToLeft).Offset(0, 1)
Range("FI7:FJ1063").Select
gli dici di valorizzare i dati ultimi estratti in riga 6 con x y z dovrebbe andare

l unico problema potrebbe poi essere rappresentato dalla presenza di molti dati ,perche see ogni volta li va risistemare tutti il calcolo diventa pesante,,credo

.spero di essere stato chiaro...è un po intricato ma secondo me ce la possiamo fare..anzi tu ce la farai...grazie mille ancora

ps per capire meglio quello che mi interessa..è come se volessi tenere d occhio la variazione dei prezzi dei beni Xyz nel tempo e ritrovarmi l ultimo prezzo in E e in successione gli altri precedenti
nignetto
Utente Junior
 
Post: 63
Iscritto il: 21/02/22 17:54

Re: Raggruppamento dati separati..macro o formula

Postdi nignetto » 27/02/22 20:34

..scusami..ma ho avuto un idea che potrebbe semplificare il tutto e rendere piu veloce calcolo...
considerando che mi interessa solo l ordinamento in dati nel foglio X y z..si potrebbe fare ?
valorizzo prima fr6 fs6 ft6 con xyz
aggiorno..dati copiati...fr:ft
li smazza..poi cancella intervallo fr:ft
..poi il ciclo ricomincia ..e inserisce i nuovi sempre in fr:ft
in questo modo si evita di appesantire troppo il foglio andandosi a rismazzare tutti i dati memorizzati...
nignetto
Utente Junior
 
Post: 63
Iscritto il: 21/02/22 17:54

Re: Raggruppamento dati separati..macro o formula

Postdi Anthony47 » 27/02/22 23:14

Non ti seguo piu'...
Ho capito che lo "smazzamento" (da foglio1 a X-Y-Z) deve avvenire posizionando i nuovi dati sempre in colonna E, facendo scivolare i dati preesistenti verso destra.
Ma i dati da "smazzare" sono in posizione fissa? Se Sì, quale? Se No, dove cominciano?


Codice: Seleziona tutto
Range(Range("FO7"), Range("FO" & Rows.Count).End(xlUp)).Resize(, 3).Copy Cells(7, Columns.Count).End(xlToLeft).Offset(0, 1)
Range("FI7:FJ1063").Select
Queste istruzioni non so da dove vengono
Avatar utente
Anthony47
Moderatore
 
Post: 19196
Iscritto il: 21/03/06 16:03
Località: Ivrea

Prossimo

Torna a Applicazioni Office Windows


Topic correlati a "Raggruppamento dati separati..macro o formula":


Chi c’è in linea

Visitano il forum: Marius44 e 39 ospiti