D'accordo ho capito poco o nulla
Ovviamente io dicevo una cosa un po' meno drastica: i dati vanno messi in modo da poterli poi riprendere con la minor sofferenza possibile; e mentre ci sono parecchie funzioni che ricercano in orizzontale o in verticale (es Cerca.vert o cerca.orizz o confronta) non ce ne sono (pardon: non me ne ricordo) che cercano su range discontinui (nel caso descritto: riga 1, poi riga 20, poi ??). Idem per le unioni celle: mangiano memoria, mangiano tempo di cpu, confondono le idee sugli indirizzamenti (soprattutto a me che lavoro molto con istruzioni quali SCARTO o l' equivalente istruzione Offset).
Organizzare i dati in orizzontale (su riga) vuol dire metterli tutti a blocchi affiancati: tutte le intestazioni sono su riga 1, i nomi atleti su riga 2, etc.
In alternativa li metti tutti in colonna: il primo atleta dal rigo 1 al rigo 17 (o forse 20), il secondo da rigo 18 (o forse 20) al 35 (o forse 40) e cosi' via.
Io in genere metto in colonna, perche' su excel ci sono molte piu' righe che colonne, e quindi si possono incolonnare piu' dati.
Dipende da quanti dati devi gestire...
Nel prosieguo supporro' che li metterai in orizzontale, avendo pero' eliminato tutte le unioni celle; pnso che basti selezionare le intere colonne B e C e formattare: Formato /Celle; tab Allineamento, eliminare la spunta su Unione celle. Ripetere per le colonne E:F etc; idem su G:H di Foglio1.
Oggi pomeriggio ho detto che i tuoi dati erano organizzati su una unica colonna, perche' mi sembrava che in colonna A (di foglio2) c' erano solo le intestazioni e i veri dati erano in colonna B; riguardandoli mi sembra che anche in col A talvolta ci sono dei dati (es in A9 potrebbe esserci scritto Forlì).
Poiche' vorresti portare su foglio 1 anche la foto, scartiamo la soluzione con LA formula, e cerchiamo di concludere la macro.
Prendo per buono i dati come sono mostrati nel post delle 16:49, salvo che:
-tutti i dati sono affiancati in orizzontale;
-non ci sono celle unite;
-l' intestazione di ogni gruppo di dati e' in colonna A, D, G, etc di riga 1; su queste celle deve esserci esattamente la stessa stringa che hai messo nel campo soggetto a Convalida (quindi: NON "Atleta: Pinco Pallino, MA: Pinco Pallino)
-detto esplicitamente, le colonne "disunite" che sono rimaste vuote (C, F, etc) non rappresentano un problema, ma possono essere anche eliminate perche' faremo riferimento all' intestazione (il "Pinco Pallino" dell' esempio sopra).
Cio' detto, la macro che ti aiuta dovrebbe essere:
- Codice: Seleziona tutto
Sub nikkkk()
AAA = Range("C1").Value
Sheets("Foglio2").Select
Range("A1").Offset(0, AAA - 1).Range("A1:B19").Copy
Sheets("Foglio1").Select
Range("F6").Select
ActiveSheet.Paste
Application.CutCopyMode = False
End Sub
(Ricorda la formula che ti ho chiesto di mettere in C1)
Cosa fa la macro:
-legge su C1 in quale colonna (di foglio2) e' posizionato ilblocco dati che corrisponde all' atleta selezionato.
-va su foglio2 e copia quel blocco di 2 colonne per 19 righe
-va su foglio1 e incolla quei dati in G2 e sottostanti.
Fai partire la macro quando vuoi, con uno dei metodi che preferisci; tieni solo presente che la scelta di un nominativo da un elenco di convalida non corrisponde all' input di dati, quindi no puoi usare metodi quali Worksheet_Calculate.
Vediamo dove riusciamo ad arrivare!
Ciao.