Come fare la formattazione condizionale utilizzando VBA in Microsoft Excel
Dipingiamo un dipinto di Monalisa e lasciamo Picasso indietro usando VBA.
Pronto, preparati … Aspetta! Aspettare! Tieni i tuoi cavalli. Useremo solo VBA per eseguire la formattazione condizionale ed è più facile di un dipinto che? uccello a forma di.
La sintassi generica della formattazione condizionale VBA
If condition than Range(range).Interior.ColorIndex= 1-56
Dai il controllo della tua condizione alla condizione e quindi formatta l’intervallo usando la proprietà .iteriour.colorindex dell’oggetto Range. L’indice dei colori ha 56 colori. Vai a giocare a Holi con loro ed esplora quale numero contiene quale colore.
Ora capiamolo con un esempio ==== Esempio: codice VBA per formattare in modo condizionale le celle
Quindi, questo è lo scenario, abbiamo un elenco di persone a caso con la loro età e gruppo di età.
Quanto sarebbe facile se si potesse distinguere la fascia d’età di una persona semplicemente guardando i loro nomi.
Ora per fare questo, voglio il formato VBA Nome ROSSO se è un adulto, GIALLO se è un adolescente e VERDE se è un BAMBINO e niente se la cella è vuota.
Sub FormatUsingVBA() Dim rng As Range Dim lastRow As Long lastRow = Cells(Rows.Count, 3).End(xlUp).Row Set rng = Range("C2:C" & lastRow)For Each cell In rng If cell.Value2 = "Adult" Then Range(cell.Address).Offset(0, -2).Interior.ColorIndex = 3 ElseIf cell.Value2 = "KID" Then Range(cell.Address).Offset(0, -2).Interior.ColorIndex = 4 ElseIf cell.Value2 = "Teenager" Then Range(cell.Address).Offset(0, -2).Interior.ColorIndex = 6 Else Range(cell.Address).Offset(0, -2).Interior.ColorIndex = 0 End If Next cell End Sub
Per eseguire questo codice direttamente dal foglio, ho disegnato un pulsante sullo stesso foglio e gli ho assegnato questa macro. Ora, ogni volta che fai clic sul pulsante “Formato”, il codice verrà eseguito e aggiornerà le celle dei nomi con colori a seconda della fascia di età. Come? Scopriamolo.
Spiegazione del codice:
Dim rng As RangeDim lastRow As LongThese two lines are variable declarations. rng for Range that holds the age group and lastRow to get last nonblank row number.
lastRow = Cells(Rows.Count, 3).End(xlUp).RowThis line returns last row number in lastRow Variable.
Set rng = Range("C2:C" & lastRow)This line sets the range starting from C2 and to the last row. It makes your code dynamic. You add new rows to your data and it will detect and will store in new range in rng variable.
For Each cell In rng If cell.Value2 = "Adult" Then Range(cell.Address).Offset(0, -2).Interior.ColorIndex = 3 ElseIf cell.Value2 = "KID" Then Range(cell.Address).Offset(0, -2).Interior.ColorIndex = 4 ElseIf cell.Value2 = "Teenager" Then Range(cell.Address).Offset(0, -2).Interior.ColorIndex = 6 Else Range(cell.Address).Offset(0, -2).Interior.ColorIndex = 0 End If Next cell
Questo è il segmento principale.
For Each cell In rng
La prima riga esegue il ciclo su tutte le celle nell’intervallo. If cell.Value2 = “Adult” Then La riga successiva è un controllo delle condizioni. Controlla se il valore della cella corrente è Adulto o no.
Se sì, viene eseguita la riga successiva, altrimenti passa alla successiva istruzione if.Range (cell.Address) .Offset (0, -2) .Interior.ColorIndex = 3 Ora se la condizione IF restituisce TRUE, questa riga imposta il colore della cella su ColorIndex 3 che è per il ROSSO.
Allo stesso modo, le istruzioni IF seguenti vengono eseguite e agiscono come specificato.
Quindi sì, puoi formattare in modo condizionale gli intervalli usando VBA. Il metodo interno dell’oggetto Range controlla molte altre proprietà per la formattazione. Dovresti giocare con loro, non farà alcun male ma imparerai sicuramente. E se affronti qualche difficoltà di quello per cui sono qui. Poni le tue domande nella sezione commenti.
Scarica il file *
`link: /wp-content-uploads-2013-07-Conditional-Formatting-using-VBA-in-Microsoft-Excel.xls [__ Formattazione condizionale utilizzando VBA in Microsoft Excel]
Articoli popolari:
link: / formule-e-funzioni-introduzione-di-vlookup-funzione [Come usare la funzione CERCA.VERT in Excel]
link: / tips-countif-in-microsoft-excel [Come usare la funzione CONTA.SE in Excel]
link: / excel-formula-and-function-excel-sumif-function [Come usare la funzione SUMIF in Excel]