ExcelBanter

ExcelBanter (https://www.excelbanter.com/)
-   Excel Programming (https://www.excelbanter.com/excel-programming/)
-   -   Place an autoshape (https://www.excelbanter.com/excel-programming/406583-place-autoshape.html)

alstubna

Place an autoshape
 
Whithout going through a whole bunch of trial and error, how can I easily set
the co-ordinates to place an autoshape rectangle over specific cells E10:E11?

Rick Rothstein \(MVP - VB\)[_1324_]

Place an autoshape
 
This code will create the Rectangle Shape and place it on top of the Range
specified in the With statement on the worksheet indicated in the first line
of the With/EndWith block. The code also stores the name for the Rectangle
and its Index number in case you want to interact with it later on in your
code.

Dim RectangelIndexE10E11 As Long
Dim RectangleNameE10E11 As String
With Range("E10:E11")
Worksheets(1).Shapes.AddShape msoShapeRectangle, _
.Left, .Top, .Width, .Height
RectangelIndexE10E11 = Shapes.Count
RectangleNameE10E11 = Shapes(Shapes.Count).Name
End With

Rick


"alstubna" wrote in message
...
Whithout going through a whole bunch of trial and error, how can I easily
set
the co-ordinates to place an autoshape rectangle over specific cells
E10:E11?



[email protected]

Place an autoshape
 
Thanks Rick

That's certainly much neater than what I was trying to do.

BTW, I got a runtime error on this line:

RectangelIndexE10E11 = Shapes.Count


I didn't need that for my needs so I just took it out.

Al Stubna



On Feb 24, 4:17*pm, "Rick Rothstein \(MVP - VB\)"
wrote:
This code will create the Rectangle Shape and place it on top of the Range
specified in the With statement on the worksheet indicated in the first line
of the With/EndWith block. The code also stores the name for the Rectangle
and its Index number in case you want to interact with it later on in your
code.

Dim RectangelIndexE10E11 As Long
Dim RectangleNameE10E11 As String
With Range("E10:E11")
* Worksheets(1).Shapes.AddShape msoShapeRectangle, _
* * * * * * * * * * * * * * * * .Left, .Top, .Width, .Height
* RectangelIndexE10E11 = Shapes.Count
* RectangleNameE10E11 = Shapes(Shapes.Count).Name
End With

Rick

"alstubna" wrote in message

...



Whithout going through a whole bunch of trial and error, how can I easily
set
the co-ordinates to place an autoshape rectangle over specific cells
E10:E11?- Hide quoted text -


- Show quoted text -



Rick Rothstein \(MVP - VB\)[_1336_]

Place an autoshape
 
The error probably came from my running the code with the sheet with the
Shape on it active and, perhaps, you were not doing so. This should fix the
problem I would think...

Dim RectangelIndexE10E11 As Long
Dim RectangleNameE10E11 As String
With Range("E10:E11")
Worksheets(1).Shapes.AddShape msoShapeRectangle, _
.Left, .Top, .Width, .Height
End With
With Worksheets(1)
RectangelIndexE10E11 = .Shapes.Count
RectangleNameE10E11 = .Shapes(Shapes.Count).Name
End With

By the way, the actual sheet names could be subsituted for the sheet index
number that I used. For example,

Dim RectangelIndexE10E11 As Long
Dim RectangleNameE10E11 As String
With Range("E10:E11")
Worksheets("Sheet1").Shapes.AddShape msoShapeRectangle, _
.Left, .Top, .Width, .Height
End With
With Worksheets("Sheet1")
RectangelIndexE10E11 = .Shapes.Count
RectangleNameE10E11 = .Shapes(Shapes.Count).Name
End With

Rick


wrote in message
...
Thanks Rick

That's certainly much neater than what I was trying to do.

BTW, I got a runtime error on this line:

RectangelIndexE10E11 = Shapes.Count


I didn't need that for my needs so I just took it out.

Al Stubna



On Feb 24, 4:17 pm, "Rick Rothstein \(MVP - VB\)"
wrote:
This code will create the Rectangle Shape and place it on top of the Range
specified in the With statement on the worksheet indicated in the first
line
of the With/EndWith block. The code also stores the name for the Rectangle
and its Index number in case you want to interact with it later on in your
code.

Dim RectangelIndexE10E11 As Long
Dim RectangleNameE10E11 As String
With Range("E10:E11")
Worksheets(1).Shapes.AddShape msoShapeRectangle, _
.Left, .Top, .Width, .Height
RectangelIndexE10E11 = Shapes.Count
RectangleNameE10E11 = Shapes(Shapes.Count).Name
End With

Rick

"alstubna" wrote in message

...



Whithout going through a whole bunch of trial and error, how can I
easily
set
the co-ordinates to place an autoshape rectangle over specific cells
E10:E11?- Hide quoted text -


- Show quoted text -




All times are GMT +1. The time now is 07:31 AM.

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