Cell Border

S

Sal

This Macro creates borders around Columns A:O. It stops creating borders at
the last row in Colum O that has contents. Can I get help changing it so
that it stops creating borders at the last row that has contents in Column A
or Column B or Column C or Column D or Column E or Column F or Column G or
Column H or Column I or Column J or Column K or Column L or Column M or
Column N or Column O?

Sub Border ()
With Range("A1:O" & Range("O" & Rows.Count).End(xlUp).Row)
.Borders(xlDiagonalDown).LineStyle = xlNone
.Borders(xlDiagonalUp).LineStyle = xlNone
With .Borders(xlEdgeLeft)
.LineStyle = xlContinuous
.Weight = xlMedium
.ColorIndex = xlAutomatic
End With
With .Borders(xlEdgeTop)
.LineStyle = xlContinuous
.Weight = xlMedium
.ColorIndex = xlAutomatic
End With
With .Borders(xlEdgeBottom)
.LineStyle = xlContinuous
.Weight = xlMedium
.ColorIndex = xlAutomatic
End With
With .Borders(xlEdgeRight)
.LineStyle = xlContinuous
.Weight = xlMedium
.ColorIndex = xlAutomatic
End With
With .Borders(xlInsideVertical)
.LineStyle = xlContinuous
.Weight = xlMedium
.ColorIndex = xlAutomatic
End With
With .Borders(xlInsideHorizontal)
.LineStyle = xlContinuous
.Weight = xlMedium
.ColorIndex = xlAutomatic
End With
End With
End Sub
 
D

Don Guillett

Try this,
Sub shortestcolumnforborders()
lr = Cells.Find("*", Cells(Rows.Count, _
Columns.Count), , , xlByRows, xlPrevious).Row
'MsgBox lr

For i = 1 To 16
clr = Cells(Rows.Count, i).End(xlUp).Row
'MsgBox clr
If clr < lr Then lr = clr
Next i
Cells(1, 1).Resize(lr, 16). _
Borders.LineStyle = xlContinuous
'MsgBox lr 'minrow
End Sub
 

Ask a Question

Want to reply to this thread or ask your own question?

You'll need to choose a username for the site, which only take a couple of moments. After that, you can post your question and our members will help you out.

Ask a Question

Top