una curiosita "tecnica"
sono riuscito a creare una macro molto "grezza "
ma che funziona tranne l' ultimo controllo.
mi spiego,
la macro controlla delle celle e in relazione a cio'
che ho scritto mi controlla il contenuto e ne colora
in maniera diversa la cella, il carattere , bordo ecc...
le prime 5 condizioni mi vengono rispettate,
ho aggiunto la condizione 6 ( l ultima in basso)
ma non viene applicata !!
la macro non mi da errore
ma non mi colora come descritto
perche ?
grazie
vi allego il file
https://www.dropbox.com/s/iz3rz6us65n6pox/Colora_RI_2.rar?dl=0
macro:
- Codice: Seleziona tutto
Sub colora_celle_varie()
Dim CL As Range
'-----------1---X--------------------------------------------
For Each CL In Cells.SpecialCells(xlCellTypeConstants)
If UCase(CL) = "X" Then
With CL
.Interior.ColorIndex = 6
.Font.Bold = True
.Borders.LineStyle = xlContinuous
.Borders.Weight = xlThick
End With
'------2--LL----lu_ve---------------------------------------------
'oppure se il valore della della e' "LL" ...
ElseIf UCase(CL) = "LL" Then
'se il giorno della settimana della prima riga e' inferiore a 5 (1=lun, 2=mar ecc)
If Weekday(Cells(2, CL.Column), vbMonday) < 6 Then
'applica formato
With CL
.Interior.ColorIndex = 33
.Font.Bold = True
.Borders.LineStyle = xlContinuous
.Borders.Weight = xlMedium
End With
End If
'----3 >>----RI-------------lu_ve------------------------------------
'oppure se il valore della della e' "RI" ...
ElseIf UCase(CL) = "RI" Then
'se il giorno della settimana della prima riga e' inferiore a 5 (1=lun, 2=mar ecc)
If Weekday(Cells(2, CL.Column), vbMonday) < 6 Then
'applica formato
With CL
.Interior.ColorIndex = 3
.Font.Bold = True
.Borders.LineStyle = xlContinuous
.Borders.Weight = xlMedium
End With
End If
'----4 >>----=1 t 1830-----lu_ve--------------------------------------------
'oppure se il valore della della e' "1" ...
ElseIf UCase(CL) = "1" Then
'se il giorno della settimana della prima riga e' inferiore a 5 (1=lun, 2=mar ecc)
If Weekday(Cells(2, CL.Column), vbMonday) < 6 Then
'applica formato
With CL
.Interior.ColorIndex = 40
.Font.Bold = True
.Borders.LineStyle = xlContinuous
.Borders.Weight = xlThin ' bordo fine
End With
End If
'----5 >>----=sab t 20-------------------------------------------------
'oppure se il valore della della e' "2" ...
ElseIf UCase(CL) = "2" Then
'se il giorno della settimana della prima riga e' inferiore a 5 (1=lun, 2=mar ecc)
If Weekday(Cells(2, CL.Column), vbMonday) = 6 Then
'applica formato
With CL
.Interior.ColorIndex = 1
.Font.ColorIndex = 2 'carattere 2 bianco
.Font.Bold = True
.Borders.LineStyle = xlContinuous
.Borders.Weight = xlThin ' bordo fine
End With
End If
'----6--------t 18 sabato ------------------------------------
'oppure se il valore della della e' "1" ...
ElseIf UCase(CL) = "1" Then
'se il giorno della settimana della prima riga e' inferiore a 5 (1=lun, 2=mar ecc)
If Weekday(Cells(2, CL.Column), vbMonday) = 6 Then
'applica formato
With CL
.Interior.ColorIndex = 46 ' sfondo giallo
.Font.ColorIndex = 1 'carattere 1 nero
.Font.Bold = True ' grassetto
.Borders.LineStyle = xlContinuous
.Borders.Weight = xlThin
End With
End If
'-------------------------------------------------
End If
Next
End Sub