Consulting

Results 1 to 7 of 7

Thread: How create border in excel vba

Hybrid View

Previous Post Previous Post   Next Post Next Post
  1. #1
    VBAX Newbie
    Joined
    Sep 2024
    Posts
    5
    Location
    Quote Originally Posted by Paul_Hossler View Post
    Without seeing your code and knowing what kind of borders you want, it's hard to say

    The first is the macro recorder, the second is some cleanup


    Option Explicit
    
    Sub Macro1()
        ' Macro1 Macro
        Range("A1:D12").Select
        Selection.Borders(xlDiagonalDown).LineStyle = xlNone
        Selection.Borders(xlDiagonalUp).LineStyle = xlNone
        With Selection.Borders(xlEdgeLeft)
            .LineStyle = xlContinuous
            .ColorIndex = 0
            .TintAndShade = 0
            .Weight = xlThin
        End With
        With Selection.Borders(xlEdgeTop)
            .LineStyle = xlContinuous
            .ColorIndex = 0
            .TintAndShade = 0
            .Weight = xlThin
        End With
        With Selection.Borders(xlEdgeBottom)
            .LineStyle = xlContinuous
            .ColorIndex = 0
            .TintAndShade = 0
            .Weight = xlThin
        End With
        With Selection.Borders(xlEdgeRight)
            .LineStyle = xlContinuous
            .ColorIndex = 0
            .TintAndShade = 0
            .Weight = xlThin
        End With
        Selection.Borders(xlInsideVertical).LineStyle = xlNone
        Selection.Borders(xlInsideHorizontal).LineStyle = xlNone
    End Sub
    
    Sub Macro2()
        With Range("A1:D12")
            .Borders(xlDiagonalDown).LineStyle = xlNone
            .Borders(xlDiagonalUp).LineStyle = xlNone
            With .Borders
                .LineStyle = xlContinuous
                .ColorIndex = 0
                .TintAndShade = 0
                .Weight = xlThin
            End With
            .Borders(xlInsideVertical).LineStyle = xlNone
            .Borders(xlInsideHorizontal).LineStyle = xlNone
        End With
    End Sub
    Sub ApplyDynamicBorder()
        Dim ws As Worksheet
        Dim lastRow As Long
        Dim lastCol As Long
        Dim tableRange As Range
        ' Set the worksheet
        Set ws = ThisWorkbook.Sheets("Sheet1")
        ' Find the last row with data in column A
        lastRow = ws.Cells(ws.Rows.Count, 1).End(xlUp).Row
        ' Find the last column with data in row 1
        lastCol = ws.Cells(1, ws.Columns.Count).End(xlToLeft).Column
        ' Define the range of the table
        Set tableRange = ws.Range(ws.Cells(1, 1), ws.Cells(lastRow, lastCol))
        ' Apply borders to the table range
        With tableRange.Borders
            .LineStyle = xlContinuous
            .Weight = xlThin
            .ColorIndex = 0
        End With
    End Sub
    Last edited by Aussiebear; 09-25-2024 at 01:30 PM. Reason: Added code tags to supplied code

Posting Permissions

  • You may not post new threads
  • You may not post replies
  • You may not post attachments
  • You may not edit your posts
  •