ExcelBanter

ExcelBanter (https://www.excelbanter.com/)
-   Excel Programming (https://www.excelbanter.com/excel-programming/)
-   -   Animation (https://www.excelbanter.com/excel-programming/274191-animation.html)

Adam Klee

Animation
 
At first sorry for my incorrect english, but it isn'my main language.
As a matter of fact I'm a beginer of VBA, but I decided to try.
I have a small problem, how can I make a macro to resize simple rectangle on
the worksheet (after clicking).
Resizing will have to be animated of course.
I' thinking that I have used wrong prperty?

Sub Animation()
Dim logo As Shape
Dim y As Single, x As Single
For y = 1 To 16 Step 2
logo.ShapeRange.ScaleWidth = x
For x = 1 To 8 Step 1
logo.ShapeRange.ScaleHeight = y
DoEvents
Next y
Next x
End Sub



patrick molloy

Animation
 
you'd see the for..next more clearly if you "nested" as
per the code below:

Sub Animation()
Dim logo As Shape
Dim y As Single, x As Single
Set logo = Sheet1.Shapes(1)
For y = 1 To 16 Step 2
logo.Width = y
For x = 1 To 8 Step 1
logo.Height = x
DoEvents
Next x
Next y
End Sub


Mote that it isn't necessary for the variable to be
placed after the 'next' instruction, so
Next
Next
is OK, but for clarity, I think the variables ought to be
there.



Patrick Molloy
Microsoft Excel MVP

-----Original Message-----
At first sorry for my incorrect english, but it isn'my

main language.
As a matter of fact I'm a beginer of VBA, but I decided

to try.
I have a small problem, how can I make a macro to resize

simple rectangle on
the worksheet (after clicking).
Resizing will have to be animated of course.
I' thinking that I have used wrong prperty?

Sub Animation()
Dim logo As Shape
Dim y As Single, x As Single
For y = 1 To 16 Step 2
logo.ShapeRange.ScaleWidth = x
For x = 1 To 8 Step 1
logo.ShapeRange.ScaleHeight = y
DoEvents
Next y
Next x
End Sub


.


Adam Klee

Animation
 
Many thanks it's working but Iwould have to put one element mo
Sub Animation()
Dim logo As Shape
Dim y As Single, x As Single
Set logo = Worksheets("Sheet1").Shapes(1)
For y = 1 To 16 Step 2
logo.Width = y
For x = 1 To 8 Step 1
logo.Height = x
DoEvents
Next x
Next y
End Sub


Uzytkownik "Patrick Molloy" napisal w wiadomosci
...
you'd see the for..next more clearly if you "nested" as
per the code below:

Sub Animation()
Dim logo As Shape
Dim y As Single, x As Single
Set logo = Sheet1.Shapes(1)
For y = 1 To 16 Step 2
logo.Width = y
For x = 1 To 8 Step 1
logo.Height = x
DoEvents
Next x
Next y
End Sub


Mote that it isn't necessary for the variable to be
placed after the 'next' instruction, so
Next
Next
is OK, but for clarity, I think the variables ought to be
there.



Patrick Molloy
Microsoft Excel MVP

-----Original Message-----
At first sorry for my incorrect english, but it isn'my

main language.
As a matter of fact I'm a beginer of VBA, but I decided

to try.
I have a small problem, how can I make a macro to resize

simple rectangle on
the worksheet (after clicking).
Resizing will have to be animated of course.
I' thinking that I have used wrong prperty?

Sub Animation()
Dim logo As Shape
Dim y As Single, x As Single
For y = 1 To 16 Step 2
logo.ShapeRange.ScaleWidth = x
For x = 1 To 8 Step 1
logo.ShapeRange.ScaleHeight = y
DoEvents
Next y
Next x
End Sub


.




patrick molloy

Animation
 
I used Sheet1 as the object

Set logo = Worksheets("Sheet1").Shapes(1)
and
Set logo = Sheet1.Shapes(1)

are synonymous.
In this case sheet1 is the object name while "sheet1" is
also the sheet's name. Look in the project explorer &
you'll see what I mean if you select sheet1 and look at
its properties.

Patrick Molloy
Microsoft Excel MVP



-----Original Message-----
Many thanks it's working but Iwould have to put one

element mo
Sub Animation()
Dim logo As Shape
Dim y As Single, x As Single
Set logo = Worksheets("Sheet1").Shapes(1)
For y = 1 To 16 Step 2
logo.Width = y
For x = 1 To 8 Step 1
logo.Height = x
DoEvents
Next x
Next y
End Sub


Uzytkownik "Patrick Molloy"

napisal w wiadomosci
...
you'd see the for..next more clearly if you "nested" as
per the code below:

Sub Animation()
Dim logo As Shape
Dim y As Single, x As Single
Set logo = Sheet1.Shapes(1)
For y = 1 To 16 Step 2
logo.Width = y
For x = 1 To 8 Step 1
logo.Height = x
DoEvents
Next x
Next y
End Sub


Mote that it isn't necessary for the variable to be
placed after the 'next' instruction, so
Next
Next
is OK, but for clarity, I think the variables ought to

be
there.



Patrick Molloy
Microsoft Excel MVP

-----Original Message-----
At first sorry for my incorrect english, but it isn'my

main language.
As a matter of fact I'm a beginer of VBA, but I

decided
to try.
I have a small problem, how can I make a macro to

resize
simple rectangle on
the worksheet (after clicking).
Resizing will have to be animated of course.
I' thinking that I have used wrong prperty?

Sub Animation()
Dim logo As Shape
Dim y As Single, x As Single
For y = 1 To 16 Step 2
logo.ShapeRange.ScaleWidth = x
For x = 1 To 8 Step 1
logo.ShapeRange.ScaleHeight = y
DoEvents
Next y
Next x
End Sub


.



.



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

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