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.
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