Condividi:        

valori da righe a tabelle

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

valori da righe a tabelle

Postdi miko » 01/09/11 19:38

buona sera,
su un foglio per ciascuna riga, a partire dalla cella C4 fino alla colonna BE, ho inserito le estrazioni del lotto;
devo riportare le strazioni di una stessa data contenute in una sola riga, su un altro foglio disponendole in 30 tabelle con le ruote disposte una sotto l'altra come in fig.

Immagine

le 30 tabelle sono disposte su 3 file;
la prima fila, e quindi il primo valore utile, si trova nella cella k4 e finisce nella colonna BQ;
tra le tabelle vi è una colonna riservata al nome della ruota;
la seconda fila inizia dalla cella k19 ed infina la terza dalla cella k34, ed hanno la stessa struttura della prima.
per motivi di spazio ho inserito in un piccolo form una scrollbar, con valore min impostato a 3 per avanzare di riga e selezionare le estrazioni.
il suo valore massimo dipende dal numero di righe contenute nel foglio dove si trovano tutte le estrazioni.
come sapete il valore di avanzamento della scrollbar aumenta o diminuisce al click.
quindi ad ogni click corrisponde un determinato numero di riga.
per lo scopo del progetto ho realizzato questa piccola macro usando le matrici, credo sia più veloce di un ciclo for:

Codice: Seleziona tutto
Sub array()
Dim v, r As Long
Dim rng As Excel.Range
r = 1 '<<<< scrollbar min
Set rng = Range("A1:F1" & r)
v = rng.Value
For k = 1 To UBound(v, 1)
Next
Set rng = Range("A5:F5")
rng.Value = v
End Sub


per prova ho usato pochi valori;
la macro funziona poichè inserisce i valori contenuti da A1 ad F1 nella matrice v, e poi trasferisce da v al range A5:F5 gli stessi valori.
non riesco però a scrivere le linee di codice per ottenre il risultato che vorrei:
disporre la riga a gruppi di 5 nelle tabelle.
ho provato ad adattare alcune macro che ho trovato nel forum riguardo argomenti simili, vedi ad esempio le macro di anthony e ricky di questo topic: [excel] da matrice a elenco, ma non ottengo il risultato voluto.
come devo modificare la macro, se è possibile, oppure potete suggerirmi un diverso modo di affrontare il problema?
ciao grazie
windows 10 - office 2013
miko
Utente Senior
 
Post: 520
Iscritto il: 29/12/09 10:44

Sponsor
 

Re: valori da righe a tabelle

Postdi miko » 04/09/11 20:54

buona sera,
non sono ancora riuscito a risolvere questo problema.
c'è qualcuno che può suggerirmi, anche con un ciclo, come devo convertire una riga in una tabella?
la variazione della riga avviene tramite il click dello scrollbar.
saluti, grazie
windows 10 - office 2013
miko
Utente Senior
 
Post: 520
Iscritto il: 29/12/09 10:44

Re: valori da righe a tabelle

Postdi Anthony47 » 05/09/11 14:43

A parte la mia ostentata misconoscenza del lotto e delle sue regole, non ho capito su che cosa verte la richiesta di aiuto:
-spacchettare i dati di partenza in 30 tabelle? perche' 30? Quale e' il formato dei dati di origine (immagino sia questo: viewtopic.php?f=26&t=92509#p528299, ma e' meglio lo dica tu)? E quale e' il formato di uscita? E quali sono le regola per passare da dati in riga a dati in colonna (ad esempio dove va la prima riga di dati, dove va la seconda, dove va la tredicesima)? Se il primo set di tabelle si trova in K:BQ si tratta di 59 colonne, che non e' ne' un multiplo di 6. ne' di 5 (in realta' e' multiplo di niente, trattandosi di un numero primo), quindi non so come sono organizzate questi gruppi di colonne dati.
-o sulla gestione della scroll bar e di come si seleziona un gruppo di dati? nella tabella di partenza? o in quella di uscita?

Insomma al momento non so su cosa applicarmi...

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

Re: valori da righe a tabelle

Postdi miko » 05/09/11 20:50

buona sera,
la tua "ignoranza"
...del lotto e delle sue regole...
è pari alla mia incomprensione dello stesso e del suo mondo;
sto provando tuttavia a realizzare qualcosa perchè imparo excel ed il vba.
anche questa volta hai intuito che si riferisce al topic che hai segnalato.
per rispondere ai tuoi dubbi provo a chiarire alcuni concetti.
trascuriamo per il momento il lotto poichè in questa richiesta non c'è alcun riferimento al gioco;
fondamentalmente il problema consiste nel riportare dei valori disposti su righe in tabelle.
i dati di partenza sono disposti come nella figura del topic citato, rappresentativa del foglio estrazioni, nel quale le estrazioni sono disposte su una riga con le ruote una di seguito all'altra.
poichè le terzine simmetriche sono 30, per motivi di spazio ho pensato di creare, su un unico foglio, 30 tabelle, una per ciascuna terzina.
in alternativa potrei creare 30 fogli ed in tal caso non ci sarebbero problemi tranne quello di avere 30 fogli con tutte le estrazioni.
su un piccolo form ho inserito una scrollbar; quella inserita direttamente nel foglio excel non riesco a farla funzionare.
cliccando sulle frecce laterali o spostando il tastino centrale della scrollbar mi sposto in avanti od indietro di una o più righe sul foglio delle estrazioni.
raggiunta l'estrazione-riga desiderata nel foglio estrazioni, nelle 30 tabelle devo ottenere gli stessi valori della estrazione-riga che ho selezionato con la scrollbar;
ad esempio se nel foglio estrazioni raggiungo la riga 10 allora nelle tabelle devo inserire i numeri della estrazione 10;
il problema è che nel foglio estrazioni i numeri si trovano tutti su una riga, una ruota di seguito all'altra, nelle tabelle invece le ruote sono una sotto l'altra;
es. estrazione n° 10
-------------- bari---------- cagliari ------ firenze .....
riga 10: --- 1 2 3 4 5------- 6 7 8 9 10 --------11 12 13 14 15

dalla riga 10 del foglio estrazioni devo prendere i primi 5 numeri e metterli nelle 5 celle della prima riga;
dalla riga 10 prendere i successivi 5 numeri ed inserirli in 5 celle della seconda riga della tabella e così via fino agli ultimi 5 numeri;
fino ad ottenere questo risultato:
bari 1 2 3 4 5
caglari 6 7 8 9 10
firenze 11 12 13 14 15
.....
e poi devo ripetere questo lavoro per 30 tabelle.
ho pensato che se riuscivo a trasportare i dati nella prima tabella, poi con un copia-incolla range riportavo i valori nelle restanti 29 tabelle;
ma non risolvo ancora il problema di trasformare la riga in tabella.
le tabelle, 11 righe e 5 colonne, partono dalla colonna K fino alla BQ,
..Se il primo set di tabelle si trova in K:BQ si tratta di 59 colonne, che non e' ne' un multiplo di 6. ne' di 5

questo perchè tra una tabella e l'altra ho inserito le sigle delle ruote in modo che sia più immediato risalira alla ruota di appartenenza senza dover scorrere il foglio o le righe per risalire alla ruota.
sulla testata di ogni tabella ho inserito anche una cella per il numero del concorso, una per la data ed infine una che riporta la terzina.
quindi il primo set di tabelle parte da K4 fino a BQ4;
il secondo da K19 fino a BQ19
il terzo da k34 fino a BQ34.
spero di aver fugato qualche dubbio.
ciao e grazie
windows 10 - office 2013
miko
Utente Senior
 
Post: 520
Iscritto il: 29/12/09 10:44

Re: valori da righe a tabelle

Postdi Anthony47 » 05/09/11 23:34

la tua "ignoranza"
...del lotto e delle sue regole...

è pari alla mia incomprensione dello stesso e del suo mondo

Certamente ti batto...
Infatti non afferro come da una riga di 55 numeri (5 numeri per ognuna delle 11 ruote) si possano compilare 30 tabelle. Temo di essere refrattario....

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

Re: valori da righe a tabelle

Postdi miko » 07/09/11 14:17

ciao,
per una migliore comprensione di quello che intendo ottenere allego questo file
http://www.filedropper.com/valoriintabelle
nel modulo 1 trovi una macro registrata; avviala e vedi cosa succede nel range A15:E25;
nel modulo 2 trovi una seconda versione con matrici che produce lo stesso risultato.
quello che cerco è rendere più concise una delle due macro.
in questo esempio la riga di partenza è stabilita alla riga 8 così come il range di destinazione è stabilito in A15:E25, ma questi valori sono solo un esempio e si possono cambiare.
ciao e grazie
windows 10 - office 2013
miko
Utente Senior
 
Post: 520
Iscritto il: 29/12/09 10:44

Re: valori da righe a tabelle

Postdi Anthony47 » 07/09/11 22:34

Questa macro fa una cosa analoga?
Codice: Seleziona tutto
Sub ppp()
Sorg = "C8"
Dest = "A15"
Do
I = I + 1
 If Range(Sorg).Offset(0, I * 5 - 5).Range("A1") = "" Then Exit Do
 Range(Sorg).Offset(0, I * 5 - 5).Range("A1:E1").Copy
 Range(Dest).Offset(I - 1, 0).PasteSpecial Paste:=xlPasteValues, Operation:=xlNone, SkipBlanks _
        :=False, Transpose:=False
 Loop
 Application.CutCopyMode = False
End Sub

Copia a blocchi di 5 celle da Sorg verso destra, fintanto che non trova un blocco vuoto, e incolla in Dest verso il basso.

Speso sia di qualche utilita', ciao.
Avatar utente
Anthony47
Moderatore
 
Post: 19196
Iscritto il: 21/03/06 16:03
Località: Ivrea

Re: valori da righe a tabelle

Postdi miko » 08/09/11 09:53

buongiorno,
la macro che hai realizzato è proprio quello che cercavo al fine di sostituire le molte righe di codice analoghe presenti nelle mie macro.
grazie
windows 10 - office 2013
miko
Utente Senior
 
Post: 520
Iscritto il: 29/12/09 10:44


Torna a Applicazioni Office Windows


Topic correlati a "valori da righe a tabelle":


Chi c’è in linea

Visitano il forum: Marius44 e 51 ospiti