ExcelBanter

ExcelBanter (https://www.excelbanter.com/)
-   Excel Programming (https://www.excelbanter.com/excel-programming/)
-   -   Can't get border on shape to deselect (https://www.excelbanter.com/excel-programming/315347-cant-get-border-shape-deselect.html)

Jeff Wright[_2_]

Can't get border on shape to deselect
 
Greetings!

I have the following macro which adds a line to an existing oval shape. The
macro works fine, except the shape is still selected when the macro
finishes. I've tried inserting "ActiveSheet.Shapes("Oval 1").Deselect" at
the end of the code, but I get a "runtime error 438." Is there a way I can
get the macro to leave the shape in unselected mode when it finishes?

Thanks,

Jeff

Sub addborder1()
ActiveSheet.Shapes("Oval 1").Select
Selection.ShapeRange.Line.Weight = 8#
Selection.ShapeRange.Line.DashStyle = msoLineSolid
Selection.ShapeRange.Line.Style = msoLineSingle
Selection.ShapeRange.Line.Transparency = 0#
Selection.ShapeRange.Line.Visible = msoTrue
Selection.ShapeRange.Line.ForeColor.SchemeColor = 8
Selection.ShapeRange.Line.BackColor.RGB = RGB(255, 255, 255)
End Sub



Dave Peterson[_3_]

Can't get border on shape to deselect
 
You should be able to select a cell to get off the Oval--
at the bottom of your code: ActiveCell.Activate

But maybe better is to not select the oval to manipulate it:

Option Explicit
Sub addborder1A()
With ActiveSheet.Shapes("Oval 1").Line
.Weight = 8#
.DashStyle = msoLineSolid
.Style = msoLineSingle
.Transparency = 0#
.Visible = msoTrue
.ForeColor.SchemeColor = 8
.BackColor.RGB = RGB(255, 255, 255)
End With
End Sub


Jeff Wright wrote:

Greetings!

I have the following macro which adds a line to an existing oval shape. The
macro works fine, except the shape is still selected when the macro
finishes. I've tried inserting "ActiveSheet.Shapes("Oval 1").Deselect" at
the end of the code, but I get a "runtime error 438." Is there a way I can
get the macro to leave the shape in unselected mode when it finishes?

Thanks,

Jeff

Sub addborder1()
ActiveSheet.Shapes("Oval 1").Select
Selection.ShapeRange.Line.Weight = 8#
Selection.ShapeRange.Line.DashStyle = msoLineSolid
Selection.ShapeRange.Line.Style = msoLineSingle
Selection.ShapeRange.Line.Transparency = 0#
Selection.ShapeRange.Line.Visible = msoTrue
Selection.ShapeRange.Line.ForeColor.SchemeColor = 8
Selection.ShapeRange.Line.BackColor.RGB = RGB(255, 255, 255)
End Sub


--

Dave Peterson


Jeff Wright[_2_]

Can't get border on shape to deselect
 
Dave, thanks! This now works the way I want it to. I keep forgetting (as I
continue to learn VBA) that you don't necessarily have to select an object
in order to work with it.

Thanks again,

Jeff

"Dave Peterson" wrote in message
...
You should be able to select a cell to get off the Oval--
at the bottom of your code: ActiveCell.Activate

But maybe better is to not select the oval to manipulate it:

Option Explicit
Sub addborder1A()
With ActiveSheet.Shapes("Oval 1").Line
.Weight = 8#
.DashStyle = msoLineSolid
.Style = msoLineSingle
.Transparency = 0#
.Visible = msoTrue
.ForeColor.SchemeColor = 8
.BackColor.RGB = RGB(255, 255, 255)
End With
End Sub


Jeff Wright wrote:

Greetings!

I have the following macro which adds a line to an existing oval shape.
The
macro works fine, except the shape is still selected when the macro
finishes. I've tried inserting "ActiveSheet.Shapes("Oval 1").Deselect" at
the end of the code, but I get a "runtime error 438." Is there a way I
can
get the macro to leave the shape in unselected mode when it finishes?

Thanks,

Jeff

Sub addborder1()
ActiveSheet.Shapes("Oval 1").Select
Selection.ShapeRange.Line.Weight = 8#
Selection.ShapeRange.Line.DashStyle = msoLineSolid
Selection.ShapeRange.Line.Style = msoLineSingle
Selection.ShapeRange.Line.Transparency = 0#
Selection.ShapeRange.Line.Visible = msoTrue
Selection.ShapeRange.Line.ForeColor.SchemeColor = 8
Selection.ShapeRange.Line.BackColor.RGB = RGB(255, 255, 255)
End Sub


--

Dave Peterson





All times are GMT +1. The time now is 04:01 PM.

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