Home |
Search |
Today's Posts |
#1
Posted to microsoft.public.excel.programming
|
|||
|
|||
Border VBA
When I recorded this part of my macro I noticed that all
the option for the Left,Right,Top and Bottom edges of the cells are the same. Is there a way to combine all these into one selection to eliminate the repeatitive code. Range("DCard1:Dcard1a").Select Selection.Borders(xlDiagonalDown).LineStyle = xlNone Selection.Borders(xlDiagonalUp).LineStyle = xlNone With Selection.Borders(xlEdgeLeft) .LineStyle = xlContinuous .Weight = xlMedium .ColorIndex = xlAutomatic End With With Selection.Borders(xlEdgeTop) .LineStyle = xlContinuous .Weight = xlMedium .ColorIndex = xlAutomatic End With With Selection.Borders(xlEdgeBottom) .LineStyle = xlContinuous .Weight = xlMedium .ColorIndex = xlAutomatic End With With Selection.Borders(xlEdgeRight) .LineStyle = xlContinuous .Weight = xlMedium .ColorIndex = xlAutomatic End With Selection.Borders(xlInsideVertical).LineStyle = xlNone Selection.Borders(xlInsideHorizontal).LineStyle = xlNone Thanks Pete |
#2
Posted to microsoft.public.excel.programming
|
|||
|
|||
Border VBA
Hi Pete,
Try this: Range("DCard1:Dcard1a").BorderAround -- Rob Bovey, MCSE, MCSD, Excel MVP Application Professionals http://www.appspro.com/ * Please post all replies to this newsgroup * * I delete all unsolicited e-mail responses * "Pete" wrote in message ... When I recorded this part of my macro I noticed that all the option for the Left,Right,Top and Bottom edges of the cells are the same. Is there a way to combine all these into one selection to eliminate the repeatitive code. Range("DCard1:Dcard1a").Select Selection.Borders(xlDiagonalDown).LineStyle = xlNone Selection.Borders(xlDiagonalUp).LineStyle = xlNone With Selection.Borders(xlEdgeLeft) .LineStyle = xlContinuous .Weight = xlMedium .ColorIndex = xlAutomatic End With With Selection.Borders(xlEdgeTop) .LineStyle = xlContinuous .Weight = xlMedium .ColorIndex = xlAutomatic End With With Selection.Borders(xlEdgeBottom) .LineStyle = xlContinuous .Weight = xlMedium .ColorIndex = xlAutomatic End With With Selection.Borders(xlEdgeRight) .LineStyle = xlContinuous .Weight = xlMedium .ColorIndex = xlAutomatic End With Selection.Borders(xlInsideVertical).LineStyle = xlNone Selection.Borders(xlInsideHorizontal).LineStyle = xlNone Thanks Pete |
#3
Posted to microsoft.public.excel.programming
|
|||
|
|||
Border VBA
Hi Pete,
I remember having the same problem and this sorted it. Sub Test Range("DCard1:Dcard1a").Borders.Linestyle = xlContinuous End Sub This means that you don't even have to select the range prior t applying borders. Regards Seamu -- Message posted from http://www.ExcelForum.com |
#4
Posted to microsoft.public.excel.programming
|
|||
|
|||
Border VBA
Rob,
I found that when I tried your code of: Range("DCard1:DCard1a").BorderAround it didn't do anything to the range and even after adding (xlContinuous) to the end of the line it only put a border around the whole selectio rather than round each cell in the selection. Am I missing something? Regards Seamu -- Message posted from http://www.ExcelForum.com |
#5
Posted to microsoft.public.excel.programming
|
|||
|
|||
Border VBA
add a weight
Range("DCard1:DCard1a")..Borderaround Weight:=xlThin -- HTH Bob Phillips ... looking out across Poole Harbour to the Purbecks (remove nothere from the email address if mailing direct) "SOS " wrote in message ... Rob, I found that when I tried your code of: Range("DCard1:DCard1a").BorderAround it didn't do anything to the range and even after adding (xlContinuous) to the end of the line it only put a border around the whole selection rather than round each cell in the selection. Am I missing something? Regards Seamus --- Message posted from http://www.ExcelForum.com/ |
#6
Posted to microsoft.public.excel.programming
|
|||
|
|||
Border VBA
Hi Seamus,
I found that when I tried your code of: Range("DCard1:DCard1a").BorderAround it didn't do anything to the range and even after adding (xlContinuous) Yep, I screwed up. The LineStyle argument is required. it only put a border around the whole selection rather than round each cell in the selection. Am I missing something? The code in the original post was only surounding the entire range with a border. If you want every cell within the range to have a border you have to add two more lines: With Range("DCard1:DCard1a") .BorderAround xlContinuous .Borders(xlInsideVertical).LineStyle = xlContinuous .Borders(xlInsideHorizontal).LineStyle = xlContinuous End With -- Rob Bovey, MCSE, MCSD, Excel MVP Application Professionals http://www.appspro.com/ * Please post all replies to this newsgroup * * I delete all unsolicited e-mail responses * "SOS " wrote in message ... Rob, I found that when I tried your code of: Range("DCard1:DCard1a").BorderAround it didn't do anything to the range and even after adding (xlContinuous) to the end of the line it only put a border around the whole selection rather than round each cell in the selection. Am I missing something? Regards Seamus --- Message posted from http://www.ExcelForum.com/ |
Reply |
Thread Tools | Search this Thread |
Display Modes | |
|
|
Similar Threads | ||||
Thread | Forum | |||
Border | Excel Discussion (Misc queries) | |||
border on last cell of page effects border on beginning cell of ne | Excel Discussion (Misc queries) | |||
Border | Excel Discussion (Misc queries) | |||
Πως μπορώ να συγκρίνω αν 2 κυψέλες έχουν το ίδιο border | Excel Discussion (Misc queries) | |||
Changing the border of one cell s/n change the border of adjacent | Excel Discussion (Misc queries) |