Hücreye kenarlıklar nasıl uygulanır?

Excel’de VBA kullanarak bir hücreye kenarlık uygulamak için iki farklı yöntem kullanabilirsiniz. Birincisi “Borders” özelliği, ikincisi ise “BorderAround” yöntemidir. Bu iki yöntem arasındaki tek fark “Borders” özelliğinde, hatta hücrenin bir tarafına kenarlık uygulayabiliyorsunuz ve etrafındaki kenarlık da tamamen hücreye uygulanıyor.

Bu derste her iki yolu da keşfedeceğiz ve kenarlık eklemenin farklı yollarının neler olduğuna bakacağız.

VBA sınır özelliği

  1. Öncelikle aralık nesnesini kullanarak kenarlığı uygulamak istediğiniz aralığı veya hücreyi belirtmeniz gerekir.
    specify the range or cell
  2. Bundan sonra bir nokta (.) yazın ve ardından özellikler ve yöntemler listesinden “Kenarlıklar” özelliğini seçin.
    type a dot and then select the border
  3. Daha sonra mevcut içeriklerden kenarlık indeksini belirtin. Burada kenarlığı yalnızca hücrenin altına uygulamak için “xlEdgeBottom” kullanıyorum.
    specify the border index
  4. Oradan “LineStyle”ı kullanarak çizgi stilini belirtin. Çizgi stili olarak “xlContinuonus” kullanıyorum.
    specify th line style
 Sub vba_borders() Range("A1") _ .Borders(xlEdgeBottom) _ .LineStyle = XlLineStyle.xlContinuous End Sub

Şimdi bu kodu çalıştırdığınızda A1 hücresinin altına bir kenarlık ekleyecektir.

bu alt tarafa bir kenarlık ekleyecektir

Renk Dizini/Renk ile farklı renkler kullanma

Tıpkı normalde manuel olarak yaptığınızda kenarlık rengini seçtiğiniz gibi. Border özelliğinde, varsayılan renk dışında bir renk kullanmak için renk indeksini ve color özelliğini de kullanabilirsiniz.

Aşağıdaki kodu göz önünde bulundurun.

 With Range("A1").Borders(xlEdgeBottom) .LineStyle = XlLineStyle.xlContinuous .Color = RGB(255, 0, 0) End With

Bu makroyu çalıştırdığınızda hücrenin altına kırmızı renkte bir kenarlık eklenir.

renk indeksi ile farklı renkler kullanma

Veya colorindex özelliğini kullanmak isterseniz kod şu şekilde olacaktır.

 With Range("A1").Borders(xlEdgeBottom) .LineStyle = XlLineStyle.xlContinuous .ColorIndex = 7 End With
renk indeksi özelliği

İlgili: Beyanname ile VBA

Hücrenin içine kenarlık ekleme

Hücre içine kenarlık uygulamak istiyorsanız bu durumda xlBorderIndex olarak “xlDiagonalUp” ve “xlDiagonalDown” kullanmanız gerekir.

 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
hücrenin içine kenarlık ekleme

Yukarıdaki kodu çalıştırdığınızda hücrenin içine yukarı ve aşağı bir kenarlık ekler.

VBA BorderAround yöntemi

VBA’nın BorderAround özelliğinde isteğe bağlı 5 bağımsız değişkeniniz vardır, ancak sınırın hücreye doğru şekilde uygulanması için ikisinin belirtilmesi gerekir.

vba sınır ötesi yöntemi

Aşağıdaki kod, makroyu çalıştırdığınızda A1:A3 aralığının çevresine kenarlık uygular.

 Range("A1:A3").BorderAround _ LineStyle:=xlContinuous, _ Weight:=xlThin
kenarlığın bir hücreye doğru şekilde uygulanmasını belirtin

Aralıktaki her hücreye kenarlık ekleme

Aşağıdaki kod aralıktaki tüm hücreler arasında döngü yapar ve kenarlığı her hücreye birer birer uygular.

 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
Aralıktaki her hücreye kenarlık ekleme

Metin içeren tüm hücrelere kenarlık uygula

Aşağıdaki kod, yalnızca bir değere sahip olduğunuz hücrelere kenarlık uygulamak için FOR LOOP, USED RANGE, IFEMPTY ve IF STATEMENT kullanır.

 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

Kenarlıkları kaldır

Sadece “xlNone” çizgi stilini kullanın.

 Range("A1").Borders(xlDiagonalDown).LineStyle = xlNone

Çalışma sayfasında bir değere sahip olduğunuz tüm hücrelerin kenarlığını kaldırmak istiyorsanız aşağıdaki kodu göz önünde bulundurun.

 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

Yorum ekle

E-posta adresiniz yayınlanmayacak. Gerekli alanlar * ile işaretlenmişlerdir