Una famiglia di software per fogli di calcolo Microsoft con strumenti per l'analisi, la creazione di grafici e la comunicazione dei dati.
Ciao Norman,
prima di tutto grazie mille della risposta.
Dovrei aver risolto il mio problema, nel senso che era un problema di come avevo inserito i dati in "Foglio1".
Comunque, avrei un altro problema da risolvere adesso. Si tratterebbe di costruire una macro in grado di, data una lista di 10 nomi, cercare ognuno dei nomi nell'elenco dati e quando li trova copia delle celle sulla stessa riga; in poche parole:
leggo nome1, guardo in tutte le righe dell'elenco se una data cella corrisponde a nome1, se sì, copio dei valori presenti in celle della stessa riga, ma in differenti colonne; una volta controllate tutte le righe dei dati per il nome 1, passo al nome 2 e ripeto tutto, considerando le celle di arrivo in cui copiare i valori spostate di tot celle (ex. 5) a destra, e così via fino al nome 10.
Non so se sono stata chiara, comunque mando uno screenshot dei dati:
Praticamente, ho 11 differenti nomi (colonna P) in cui posso avere BID o OFFER, io seleziono solo BID, e per tutti i BID solo quelli che nella colonna 2 hanno ACC o REJ; nella colonna F ho i numeri da 1 a 24, io vorrei selezionare per ogni valore da 1 a 24 la lista di celle della colonna E e I, per ogni nome della colonna P.
questi sono i possibili valori che posso trovare nella colonna P, e per ognuno vorrei un una tabella come la seguente:
Spero di essere stata abbastanza chiara. Allego il codice scritto da me.
\
Sub zonalBID()
Sheets("Foglio1").Select
Ur = Range("A" & Rows.Count).End(xlUp).Row
imax = Range("AC" & Rows.Count).End(xlUp).Row
i = 2
j = 1
c = 16
r = 2
riga = 5
ora = 1
ore = 24
Do Until i > imax
Name = Cells(i, 29).Text
For ora = 1 To ore
Do Until r > Ur
If Cells(r, c) = Name Then
If Cells(r, 1) = "BID" Then
If Cells(r, 3) = "REJ" Or Cells(r, 3) = "ACC" Then
If Cells(r, 6).Value = ora Then
Cells(r, c).Copy Destination:=Worksheets("BID").Cells(5, j)
Cells(r, c).Offset(0, -11).Copy Destination:=Worksheets("BID").Cells(riga, j + 1)
Cells(r, c).Offset(0, -7).Copy Destination:=Worksheets("BID").Cells(riga, j + 2)
riga = riga + 1
End If
End If
End If
End If
r = r + 1
Loop
j = j + 3
Next ora
Loop
End Sub
\
Grazie ancora,
E