Condividi:        

formattazione condizionale con formula

Vuoi potenziare i tuoi documenti Word? Non sai come si fa una macro in Excel? Devi creare una presentazione in PowerPoint?
Oppure sei passato a OpenOffice e non sei sicuro di come lavorare al meglio?

Moderatori: Anthony47, Flash30005

formattazione condizionale con formula

Postdi cd7019 » 30/04/14 18:35

Ciao,

ho un problema con la formattazione condizionale, vorrei scrivere una formula nella condizione tramite il VBA.
FORMULA: LUNGHEZZA DEL TESTO DIVERSO DA n°10 CARATTERI.

Codice: Seleziona tutto
FOR I=1 TO 100
    If Cells(I, 1) >0 Then
        Cells(I, 2).Select
        Selection.FormatConditions.Delete
        Selection.FormatConditions.Add Type:=xlCellValue, Operator:=xlEqual, Formula1:="LEN(CELLS(I,2))<>10"
        Selection.FormatConditions(1).Interior.ColorIndex = 3
    End If
NEXT I


però c'è qualcosa che non funziona.
la formula nel VBA sembra corretta.

Grazie.
EXCEL 2003
cd7019
Utente Senior
 
Post: 232
Iscritto il: 26/06/12 21:38

Sponsor
 

Re: formattazione condizionale con formula

Postdi ricky53 » 30/04/14 20:07

Ciao,
per verificare se quanto ho capito sia proprio quello che ti occorre riporto ciò che ho ricavato dal tuo testo:
se "A1" contiene un dato con lunghezza <>10 tu vuoi impostare la formattazione condizionale nella cella "B1" in modo che questa cella diventi rossa
Dice il vecchio saggio provare e riprovare è l'unica strada per imparare

Più chiara è la vostra spiegazione
Più immediata sarà la nostra soluzione


. . . . . . . . . .
S.O. W10; Office 2003-10-13-16-19
Avatar utente
ricky53
Utente Senior
 
Post: 4565
Iscritto il: 11/04/09 19:29
Località: Italia

Re: formattazione condizionale con formula

Postdi Anthony47 » 30/04/14 22:34

Una brutta abitudine: chiedere come mai la cosa non funziona senza descrivere quale e' la cosa...

Comunque:
-quando scrivi "LEN(CELLS(I,2))<>10", tutto questo e' una unica stringa mentre tu avresti voluto usare I come variabile, cosa che potevi ottenere con "LEN(CELLS(" & I & ",2))<>10"
-nel tuo loop nelle celle di colonna B dove la colonna A e' vuota rimane sempre la formattazione condizionale, se era mai stata impostata; cioe' una volta impostata non viene piu' eliminata
-ma non c' e' bisogno di fare nessun ciclo: selezioni tutto l' intervallo e applichi la formattazione condizionale con la formula =SE(A1>0;LUNGHEZZA(B1)<>10;0)
-potrebbe essere utile impostare in B1:B100 una convalida con la condizione Consenti=Lunghezza testo, Dati=uguale a, Lunghezza=10
-per impostare la formattazione condizionale da vba:
Codice: Seleziona tutto
Range("B1").Select
With Range("B1:B100")
    .FormatConditions.Delete
    .FormatConditions.Add Type:=xlExpression, Formula1:= _
        "=SE(A1>0;LUNGHEZZA(B1)<>10;0)"
    .FormatConditions(1).Interior.ColorIndex = 3
End With

E se non trovi gli spunti giusti allora parti dalla domanda che ha fatto Ricky e descrivi che cosa vorresti realizzare.

Ciao.
Avatar utente
Anthony47
Moderatore
 
Post: 19196
Iscritto il: 21/03/06 16:03
Località: Ivrea

Re: formattazione condizionale con formula

Postdi cd7019 » 01/05/14 21:34

Grazie.
EXCEL 2003
cd7019
Utente Senior
 
Post: 232
Iscritto il: 26/06/12 21:38


Torna a Applicazioni Office Windows


Topic correlati a "formattazione condizionale con formula":


Chi c’è in linea

Visitano il forum: Nessuno e 79 ospiti