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

  1. Innanzitutto, devi specificare l’intervallo o la cella in cui desideri applicare il bordo utilizzando l’oggetto intervallo.
    specify the range or cell
  2. Successivamente, digita un punto (.) e quindi seleziona la proprietà “Bordi” dall’elenco di proprietà e metodi.
    type a dot and then select the border
  3. Quindi specificare l’indice del bordo dai contenuti disponibili. Qui utilizzo “xlEdgeBottom” per applicare il bordo solo al fondo della cella.
    specify the border index
  4. Da lì, specifica lo stile della linea utilizzando “LineStyle”. Utilizzo “xlContinuonus” come stile di linea.
    specify th line style
 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.

questo aggiungerà un bordo in basso

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.

utilizzando colori diversi con indice di colore

Oppure se vuoi usare la proprietà colorindex, il codice sarebbe così.

 With Range("A1").Borders(xlEdgeBottom) .LineStyle = XlLineStyle.xlContinuous .ColorIndex = 7 End With
proprietà dell'indice di colore

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
aggiungi un bordo all'interno di una cella

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.

metodo borderaround vba

Il seguente codice applica il bordo attorno all’intervallo A1:A3 quando si esegue la macro.

 Range("A1:A3").BorderAround _ LineStyle:=xlContinuous, _ Weight:=xlThin
specificare di applicare il bordo ad una cella nel modo corretto

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
Aggiungi un bordo a ciascuna cella dell'intervallo

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

Aggiungi un commento

Il tuo indirizzo email non sarà pubblicato. I campi obbligatori sono contrassegnati *