Come applicare i bordi a una cella?
Per applicare i bordi a una cella utilizzando VBA in Excel, puoi utilizzare due metodi diversi. La prima è la proprietà “Borders” e la seconda è il metodo “BorderAround”. L’unica differenza tra questi due metodi è nella proprietà “Borders”, puoi anche applicare il bordo su un lato della cella e il bordo attorno ad esso si applica completamente alla cella.
In questo tutorial esploreremo entrambi i modi e vedremo quali sono i diversi modi per aggiungere il bordo.
Proprietà del confine VBA
- Innanzitutto, devi specificare l’intervallo o la cella in cui desideri applicare il bordo utilizzando l’oggetto intervallo.
- Successivamente, digita un punto (.) e quindi seleziona la proprietà “Bordi” dall’elenco di proprietà e metodi.
- Quindi specificare l’indice del bordo dai contenuti disponibili. Qui utilizzo “xlEdgeBottom” per applicare il bordo solo al fondo della cella.
- Da lì, specifica lo stile della linea utilizzando “LineStyle”. Utilizzo “xlContinuonus” come stile di linea.
Sub vba_borders() Range("A1") _ .Borders(xlEdgeBottom) _ .LineStyle = XlLineStyle.xlContinuous End Sub
Ora quando esegui questo codice verrà aggiunto un bordo nella parte inferiore della cella A1.
Utilizzo di colori diversi con Indice colore/Colore
Proprio come normalmente scegli il colore del bordo quando lo fai manualmente. Nella proprietà border è inoltre possibile utilizzare l’indice dei colori e la proprietà color per utilizzare un colore diverso da quello predefinito.
Considera il codice seguente.
With Range("A1").Borders(xlEdgeBottom) .LineStyle = XlLineStyle.xlContinuous .Color = RGB(255, 0, 0) End With
Quando esegui questa macro, viene aggiunto un bordo di colore rosso alla parte inferiore della cella.
Oppure se vuoi usare la proprietà colorindex, il codice sarebbe così.
With Range("A1").Borders(xlEdgeBottom) .LineStyle = XlLineStyle.xlContinuous .ColorIndex = 7 End With
Correlato: VBA con dichiarazione
Aggiungi un bordo all’interno di una cella
Se vuoi applicare un bordo all’interno di una cella, in questo caso devi usare “xlDiagonalUp” e “xlDiagonalDown” come xlBorderIndex.
With Range("A1").Borders(xlDiagonalUp) .LineStyle = XlLineStyle.xlDashDotDot .Color = RGB(255, 0, 0) End With With Range("A1").Borders(xlDiagonalDown) .LineStyle = XlLineStyle.xlDashDotDot .Color = RGB(255, 0, 0) End With
Quando esegui il codice sopra, viene aggiunto un bordo all’interno della cella su e giù.
Metodo VBA BorderAround
Nella proprietà BorderAround di VBA, hai 5 argomenti facoltativi, ma due devono essere specificati per applicare correttamente il bordo a una cella.
Il seguente codice applica il bordo attorno all’intervallo A1:A3 quando si esegue la macro.
Range("A1:A3").BorderAround _ LineStyle:=xlContinuous, _ Weight:=xlThin
Aggiungi un bordo a ciascuna cella dell’intervallo
Il codice seguente scorre tutte le celle dell’intervallo e applica il bordo a ciascuna cella una per una.
Sub vba_borders() Dim iRange As Range Dim iCells As Range Set iRange = Range("A1:A10") For Each iCells In iRange iCells.BorderAround _ LineStyle:=xlContinuous, _ Weight:=xlThin Next iCells End Sub
Applica il bordo a tutte le celle con testo
Il codice seguente utilizza FOR LOOP, USED RANGE, IFEMPTY e IF STATEMENT per applicare i bordi solo alle celle in cui è presente un valore.
Dim iRange As Range Dim iCells As Range Set iRange = ThisWorkbook.ActiveSheet.UsedRange For Each iCells In iRange If Not IsEmpty(iCells) Then iCells.BorderAround _ LineStyle:=xlContinuous, _ Weight:=xlThin End If Next iCells
Rimuovi i bordi
Basta usare lo stile di linea “xlNone”.
Range("A1").Borders(xlDiagonalDown).LineStyle = xlNone
E se vuoi rimuovere il bordo da tutte le celle di un foglio di lavoro in cui hai un valore, considera il seguente codice.
Dim iRange As Range Dim iCells As Range Set iRange = ThisWorkbook.ActiveSheet.UsedRange For Each iCells In iRange If Not IsEmpty(iCells) Then iCells.Borders(xlDiagonalDown).LineStyle = xlNone End If Next iCells
Tutorial correlati
- Inserisci una riga utilizzando VBA in Excel
- Unisci celle in Excel utilizzando il codice VBA
- Seleziona un intervallo/cella utilizzando VBA in Excel
- SELEZIONA TUTTE le celle in un foglio di lavoro utilizzando VBA
- ActiveCell in VBA in Excel