Inesperta.
Devo applicare a diversi intervalli di celle specifici, tramite vba, la formattazione condizionale seguente:
Se la formula è =SE(E(B5&C5=$H$1&$K$1&" ("&$G$1&")";$H$1&$K$1&" ("&$G$1&")"<>"""");VERO;FALSO)
Il codice che ho usato è il seguente. Ho provato prima a selezionarmi gli intervalli che servono e poi ad applicare la formattazione solo che mi fa la cosa giusta nel primo intervallo (funziona per le celle da b5 a b12) poi nei seguenti ripete la formula ma non cambia gli intervalli (cioè al post di d5&e5 mi viene scritto sempre b5&c5)...
codice:
Sub provaformcond()
rigap = 5
Colp = 2
saltoC = 2
SaltoR = 10
RigaPint = 12
With Worksheets("Foglio2")
For x = 1 To 34
For i = 0 To 9
.Range(.Cells(rigap, Colp), .Cells(rigap + 7, Colp)).Select
Selection.FormatConditions.Delete
Selection.FormatConditions.Add Type:=xlCellValue, Operator:=xlEqual, _
Formula1:="=OGGI()"
Selection.FormatConditions.Add Type:=xlExpression, Formula1:= _
"=SE(E(b5&c5 <>$H$1&$K$1&"" (""&$G$1&"")"";$H$1&$K$1&"" (""&$G$1&"")""<>"""""""");VERO;FALSO)"
Selection.FormatConditions.Add Type:=xlExpression, Formula1:= _
"=SE(E(b5&c5 =$H$1&$K$1&"" (""&$G$1&"")"";$H$1&$K$1&"" (""&$G$1&"")""<>"""""""");VERO;FALSO)"
i = i + 1
Colp = Colp + 2
Next
rigap = rigap + 10
Colp = 2
Next
End With
End Sub
Parto dalla cella b5, visto che poi la formula si dovrà adattare automaticamente alle altre celle (quindi ad esempio nella cella h325 la formattazione sarà =SE(E(h325&I325=....) --> da fare.
Gli intervalli di celle a cui devo applicarla rigurdano le celle a partire da b5:b12 (sempre 8 celle) e saltando una colonna (quindi l'intervallo successivo da selezionare è d5:d12) fino alla colonna L non compresa (quindi l'ultimo è j5:j12).-->fatta correttamente la selezione
Poi si riparte da o5
12, si salta sempre una colonna fino ad arrivare alla w5:w12).-->da fare
Poi devo saltare ogni volta 10 righe quindi uno degli intervalli successivi sarà b15:b22) fino alla riga 345 (quindi uno degli ultimi intervalli sarà b335:b342).-->fatta correttamente la selezione
Per le colonne idem a sopra (l'ultimissimo intervallo è w335:w342).-->da fare
Poi...le celle immediatamente dopo quelle descritte sopra (cioè c5:c12, e5:e12 ect ect) devono contenere la stessa formattazione condizionale delle precedenti SENZA che l'intervallo cambi (cioè in c5 ci sarà la formattazione condizionale =SE(E(B5&C5=$H$1&$K$1&" ("&$G$1&")";$H$1&$K$1&" ("&$G$1&")"<>"""");VERO;FALSO).-->da fare
Mi date una mano almeno con la formula?