ExcelBanter

ExcelBanter (https://www.excelbanter.com/)
-   Excel Programming (https://www.excelbanter.com/excel-programming/)
-   -   Checking for the border style of a range (https://www.excelbanter.com/excel-programming/349698-checking-border-style-range.html)

Peter Rooney

Checking for the border style of a range
 
Good morning all!

I recently wrote some event code that put a thick border around three cells
whenever they were clicked. This was to indicate the status of a job, whether
it was red, amber or green.
I now want to check which of the three cells has the outline, to transfer a
status of either red, amber or green to a record in a database.

I started with:

if activesheet.range("IssueRed").BorderAround Weight:=xlThick then

but this doesn't seem to be quite right.

Can anyone out there enlighten me as to the syntax I should be using?

Thanks in advance and have a nice weekend!

Pete



Andreas Maistmann

Checking for the border style of a range
 
Hello,

try activesheet.range("IssueRed").Borders.Weight = xlThick instead. The
BorderAround Method seems only suitable for setting the border
Properties, not for reading them.
As far as I understand it, using the Borders property in the way I
mentioned above, will only work, if the setting are the same for all
Borders of the cell, otherwise you have to pick a specific border with
one of the following constants:
xlDiagonalDown, xlDiagonalUp, xlEdgeBottom, xlEdgeLeft, xlEdgeRight,
xlEdgeTop, xlInsideHorizontal oder xlInsideVertical

E.g. activesheet.range("IssueRed").Borders(xlEdgeBottom ).Weight =
xlThick will check for the bottom border.

Andreas


Stephen Bullen[_4_]

Checking for the border style of a range
 
Hi Peter,

if activesheet.range("IssueRed").BorderAround Weight:=xlThick then

but this doesn't seem to be quite right.

Can anyone out there enlighten me as to the syntax I should be using?


You can't check for the outline as a whole, only individual borders:

If ActiveSheet.Range("IssueRed").Borders(xlTop).Weigh t = xlThick Then

Regards

Stephen Bullen
Microsoft MVP - Excel

Professional Excel Development
The most advanced Excel VBA book available
www.oaltd.co.uk/ProExcelDev



Peter Rooney

Checking for the border style of a range
 
Stephen,

Spot on. Thank you very much!

Have a green tick and a good weekend!

Pete



"Stephen Bullen" wrote:

Hi Peter,

if activesheet.range("IssueRed").BorderAround Weight:=xlThick then

but this doesn't seem to be quite right.

Can anyone out there enlighten me as to the syntax I should be using?


You can't check for the outline as a whole, only individual borders:

If ActiveSheet.Range("IssueRed").Borders(xlTop).Weigh t = xlThick Then

Regards

Stephen Bullen
Microsoft MVP - Excel

Professional Excel Development
The most advanced Excel VBA book available
www.oaltd.co.uk/ProExcelDev




Peter Rooney

Checking for the border style of a range
 
Andreas,

Thank you for this! :-)

Regards

Pete

"Andreas Maistmann" wrote:

Hello,

try activesheet.range("IssueRed").Borders.Weight = xlThick instead. The
BorderAround Method seems only suitable for setting the border
Properties, not for reading them.
As far as I understand it, using the Borders property in the way I
mentioned above, will only work, if the setting are the same for all
Borders of the cell, otherwise you have to pick a specific border with
one of the following constants:
xlDiagonalDown, xlDiagonalUp, xlEdgeBottom, xlEdgeLeft, xlEdgeRight,
xlEdgeTop, xlInsideHorizontal oder xlInsideVertical

E.g. activesheet.range("IssueRed").Borders(xlEdgeBottom ).Weight =
xlThick will check for the bottom border.

Andreas




All times are GMT +1. The time now is 02:17 AM.

Powered by vBulletin® Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
ExcelBanter.com