Newsgroup: it.comp.lang.visual-basic
Titolo: Macro x excel

Ciao a tutti,
ho bisogno del vostro aiuto per sintetizzare un'elenco lunghissimo di
dati, ma vi spiego in dettaglio:
1. questo elenco è formato da 6 colonne A B C D E F, nella colonna A
c'è la categoria principale che è una data in formato MM/GG/AAAA e
che cambia ogni n righe, nella colonna B una subcategoria che è l'ora
in formato HH:MM:SS e va dalle 9 alle 17:40 e ogni riga incrementa di 5
min mentre nella C D E F ci sono dei dati numerici ( che sono i prezzi
di un azione).
2.quello che dovrei fare è riassumere l'elenco in modo da averne un
altro con sei colonne dove ogni riga anzichè rappresentare 5 minuti
rappresenta 1 ora, quindi dovrei avere nella prima colonna la data,
nella seconda l'ora questa volta con incrementi di un'ora. Nella terza
colonna il dato che c'è nella colonna C all'inizio di ogni ora, nella
quarta il valore max in D nell'intervallo compreso tra l'inizio e la
fine di ogni ora, nella quinta come prima ma il valore minimo della
colonna E e nell'ultima il valore che c'è nella F alla fine di ogni
ora.
In pratica devo passare da tabella di prezzi ogni 5 minuti a una di
ogni ora.
Spero di essere stato chiaro.
Ringrazio tutti quelli che vorranno aiutarmi.
Alessandro.

Ciao a tutti,
sono sempre io e vi provo a dare queste indicazioni per rendere il
lavoro + facile a chi volesse aiutarmi.
Secondo me bisognerebbe inserire un ciclo che inizia con:
ciclo 1)
selezionare tutte le righe con la stessa data (colonna A)
ciclo 2)
 delle righe selezionate con il "ciclo 1" si selezionano solo quelle
che hanno lo stesso valore di ora "HH" (colonna B) senza guardare i
minuti e i secondi;
ciclo 3)
dell'area selezionata con il "ciclo 2" si prende il valore della prima
cella della prima riga della colonna C, il max dell'intervallo nella
colonna D, il minimo della E, e il valore delll'ultima cella
dell'ultima riga dell'area;
a questo punto riparte il "ciclo 2"  con la nuova ora (HH colonna B) e
quindi il "ciclo 3"  e così via fino al cambio data (colonna A) - (per
far ripartire il ciclo 1 basterebbe usare la condizione che la data
attuale sia diversa da quella precedente e lo stesso si può fare con
il ciclo 2 per l'ora, ad esempio non è importante che l'HH attuale sia
uguale a quella precedente +1 basta che sia diversa per far scattare la
condizione).
grazie ancora.
alessandro

Il 25/08/2006, aerre ha detto :

Quasi.
Manca un elemento fondamentale: l'ora può essere affidabilmente 
ottenuta come somma di 12 periodi di 5'?
O quando dici che una riga rappresenta 5', intendi che ogni riga si 
discosta dalla precedente di 'circa' 5'?
Se i 5' sono affidabili, allora la cosa è banale, visto che basta fare 
le formule per i primi 12 periodi, e poi trascinare il blocco verso il 
basso (e col registratore di macro acceso ottieni la macro che ti 
serve).
Se i 5' non sono affidabili, la cosa più semplice sarebbe creare dei 
gruppi aventi la concatenazione della data e della parte ORA della 
cella orario, omogenea. E' ovvio che la parte compresa fra le 17.00 e 
le 17.40 rappresenterebbe un periodo inferiore a 60'.
Dopodichè, con la funzionalità di subtotali di excel, sono 4 click.
E, anche qui, se tieni il registratore di macro acceso, ottieni la 
macro.
Ciao
Alberto