Moderatori: Anthony47, Flash30005
=SE(CONTA.SE($C3:$G3;C2)=1;C2;"..")
Sub Ritardi()
Foglio = "Foglio1"
UR = Worksheets(Foglio).Range("C" & Rows.Count).End(xlUp).Row
Worksheets(Foglio).Range("N2:R" & UR).ClearContents
For RR = 3 To UR
For CC = 8 To 12
Conta = 1
If Worksheets(Foglio).Cells(RR, CC) <> ".." Then
Num = Worksheets(Foglio).Cells(RR, CC).Value
For RR2 = RR + 1 To UR
For CC2 = 3 To 7
If Num = Worksheets(Foglio).Cells(RR2, CC2).Value Then
UC = Worksheets(Foglio).Range("IV" & RR).End(xlToLeft).Column + 1
If UC < 14 Then UC = 14
Worksheets(Foglio).Cells(RR, UC).Value = Conta
GoTo Continua
End If
Next CC2
Conta = Conta + 1
Next RR2
End If
Continua:
Next CC
Next RR
End Sub
Lucio Peruggini ha scritto:Ciao Avatar, c'è qualcosa che non va bene.
Faccio partire la macro, si piazza la clessidra e non succede nulla.
Lucio Peruggini ha scritto:Mea culpa!
Solamente che il ritardo deve segnarlo non all'inizio dove ci sono i due numeri consecutivi ma dove esce il terzo numero.
Vedi foto appena allegata
Avatar3 ha scritto:Ok
Però diciamo che quelle colonne (H:L) servono... quindi le lasciamo
il problema secondo me sta nel riconoscere l'effettivo ritardo che ora si nota solo per il colore
mi domandavo se a te va bene ugualmente mettere il rirado non quando avviene (non presente nelle colonne H:L quando si verifica) ma a fianco del numero esistente nel range H:L
esempio il 60 in colonna K3 avrà nella colonna N3 il suo ritardo cioè 13 in questa maniera sai che il 60 ha avuto il ritardo 13 mentre come specificato dall'immagine il 13 non sai a cosa si riferisce
Se mi dai l'ok per questa soluzione in nottata avrai la tua macro
Sub Ritardi2()
Foglio = "Foglio1"
UR = Worksheets(Foglio).Range("C" & Rows.Count).End(xlUp).Row
Worksheets(Foglio).Range("N2:R" & UR).ClearContents
For RR = 3 To UR
For CC = 8 To 12
Conta = 1
If Worksheets(Foglio).Cells(RR, CC) <> ".." Then
Num = Worksheets(Foglio).Cells(RR, CC).Value
For RR2 = RR + 1 To UR
For CC2 = 3 To 7
If Num = Worksheets(Foglio).Cells(RR2, CC2).Value Then
UC = Worksheets(Foglio).Range("IV" & RR2).End(xlToLeft).Column + 1
If UC < 14 Then UC = 14
Worksheets(Foglio).Cells(RR2, UC).Value = Conta
GoTo Continua
End If
Next CC2
Conta = Conta + 1
Next RR2
End If
Continua:
Next CC
Next RR
End Sub
Sub ColoraIndietro()
Foglio = "Foglio1"
UR = Worksheets(Foglio).Range("C" & Rows.Count).End(xlUp).Row
Worksheets(Foglio).Columns("C:G").Interior.ColorIndex = xlNone
For RR = UR To 3 Step -1
For CC = 8 To 12
Conta = 1
If Worksheets(Foglio).Cells(RR, CC) <> ".." Then
Num = Worksheets(Foglio).Cells(RR, CC).Value
For RR2 = RR - 1 To 2 Step -1
For CC2 = 3 To 7
If Num = Worksheets(Foglio).Cells(RR2, CC2).Value Then
Conta = Conta + 1
If Conta = 2 Then
MRR2 = RR2
MCC2 = CC2
End If
If Conta = 3 Then
Worksheets(Foglio).Cells(MRR2, MCC2).Interior.ColorIndex = 6
Worksheets(Foglio).Cells(RR2, CC2).Interior.ColorIndex = 6
GoTo SaltaC
End If
End If
Next CC2
Next RR2
End If
Next CC
SaltaC:
Next RR
End Sub
Lucio Peruggini ha scritto:http://screenshotuploader.com/s/FumQOJkiA4r
E' spiegato nella foto
Ciao
Torna a Applicazioni Office Windows
Calcolo numero giorni settimana nel periodo Autore: Ricky0185 |
Forum: Applicazioni Office Windows Risposte: 16 |
Calcolo del Bitrate per un formato CD Autore: franco11 |
Forum: Audio/Video e masterizzazione Risposte: 4 |
Visitano il forum: Nessuno e 69 ospiti