• Hi All

    Please note that at the Chandoo.org Forums there is Zero Tolerance to Spam

    Post Spam and you Will Be Deleted as a User

    Hui...

  • When starting a new post, to receive a quicker and more targeted answer, Please include a sample file in the initial post.

Rotate a shape

Hi,

I'm trying to rotate a shape using VBA. Presently I'm using the below code but the problem is with F8, the shape rotates like a breeze and that's the way I require. But When I run the macro, it starts with .IncrementRotation 0# to the end set up.

Can anyone provide some ideas on how to rotate the shape slow & steady like we see the globe rotates ;-)

Please see the attached file.

Code:
Sub ShapeRotation()

 
  With ActiveSheet.Shapes(1)
.IncrementRotation 0#
.IncrementRotation 1#
.IncrementRotation 2#
.IncrementRotation 3#
.IncrementRotation 4#
.IncrementRotation 5#
.IncrementRotation 6#
.IncrementRotation 7#
.IncrementRotation 8#
.IncrementRotation 9#
.IncrementRotation 10#
.IncrementRotation 0#
.IncrementRotation 1#
.IncrementRotation 2#
.IncrementRotation 3#
.IncrementRotation 4#
.IncrementRotation 5#
.IncrementRotation 6#
.IncrementRotation 7#
.IncrementRotation 8#
.IncrementRotation 9#
.IncrementRotation 10#
.IncrementRotation 11#
.IncrementRotation 12#
.IncrementRotation 13#
.IncrementRotation 14#
.IncrementRotation 15#
.IncrementRotation 16#
.IncrementRotation 17#
.IncrementRotation 18#
.IncrementRotation 19#
.IncrementRotation 20#
.IncrementRotation 21#
.IncrementRotation 22#
.IncrementRotation 23#
.IncrementRotation 24#
.IncrementRotation 25#
.IncrementRotation 26#
.IncrementRotation 27#
.IncrementRotation 28#
.IncrementRotation 29#
.IncrementRotation 30#
.IncrementRotation 31#
.IncrementRotation 32#
.IncrementRotation 33#
.IncrementRotation 34#
.IncrementRotation 35#
.IncrementRotation 36#
.IncrementRotation 37#
.IncrementRotation 38#
.IncrementRotation 39#
.IncrementRotation 40#
.IncrementRotation 41#
.IncrementRotation 42#
.IncrementRotation 43#
.IncrementRotation 44#
.IncrementRotation 45#
.IncrementRotation 46#
.IncrementRotation 47#
.IncrementRotation 48#
.IncrementRotation 49#
.IncrementRotation 50#
.IncrementRotation 51#
.IncrementRotation 52#
.IncrementRotation 53#
.IncrementRotation 54#
.IncrementRotation 55#
.IncrementRotation 56#
.IncrementRotation 57#
.IncrementRotation 58#
.IncrementRotation 59#
.IncrementRotation 60#
.IncrementRotation 61#
.IncrementRotation 62#
.IncrementRotation 63#
.IncrementRotation 64#
.IncrementRotation 65#
.IncrementRotation 66#
.IncrementRotation 67#
.IncrementRotation 68#
.IncrementRotation 69#
.IncrementRotation 70#
.IncrementRotation 71#
.IncrementRotation 72#
.IncrementRotation 73#
.IncrementRotation 74#
.IncrementRotation 75#
.IncrementRotation 76#
.IncrementRotation 77#
.IncrementRotation 78#
.IncrementRotation 79#
.IncrementRotation 80#
.IncrementRotation 81#
.IncrementRotation 82#
.IncrementRotation 83#
.IncrementRotation 84#
.IncrementRotation 85#
.IncrementRotation 86#
.IncrementRotation 87#
.IncrementRotation 88#
.IncrementRotation 89#
.IncrementRotation 90#
.IncrementRotation 91#
.IncrementRotation 92#
.IncrementRotation 93#
.IncrementRotation 94#
.IncrementRotation 95#
.IncrementRotation 96#
.IncrementRotation 97#
.IncrementRotation 98#
.IncrementRotation 99#
.IncrementRotation 100#
.IncrementRotation 101#
.IncrementRotation 102#
.IncrementRotation 103#
.IncrementRotation 104#
.IncrementRotation 105#
.IncrementRotation 106#
.IncrementRotation 107#
.IncrementRotation 108#
.IncrementRotation 109#
.IncrementRotation 110#
.IncrementRotation 111#
.IncrementRotation 112#
.IncrementRotation 113#
.IncrementRotation 114#
.IncrementRotation 115#
.IncrementRotation 116#
.IncrementRotation 117#
.IncrementRotation 118#
.IncrementRotation 119#
.IncrementRotation 120#
.IncrementRotation 121#
.IncrementRotation 122#
.IncrementRotation 123#
.IncrementRotation 124#
.IncrementRotation 125#
.IncrementRotation 126#
.IncrementRotation 127#
.IncrementRotation 128#
.IncrementRotation 129#
.IncrementRotation 130#
.IncrementRotation 131#
.IncrementRotation 132#
.IncrementRotation 133#
.IncrementRotation 134#
.IncrementRotation 135#
.IncrementRotation 136#
.IncrementRotation 137#
.IncrementRotation 138#
.IncrementRotation 139#
.IncrementRotation 140#
.IncrementRotation 141#
.IncrementRotation 142#
.IncrementRotation 143#
.IncrementRotation 144#
.IncrementRotation 145#
.IncrementRotation 146#
.IncrementRotation 147#
.IncrementRotation 148#
.IncrementRotation 149#
.IncrementRotation 150#
.IncrementRotation 151#
.IncrementRotation 152#
.IncrementRotation 153#
.IncrementRotation 154#
.IncrementRotation 155#
.IncrementRotation 156#
.IncrementRotation 157#
.IncrementRotation 158#
.IncrementRotation 159#
.IncrementRotation 160#
.IncrementRotation 161#
.IncrementRotation 162#
.IncrementRotation 163#
.IncrementRotation 164#
.IncrementRotation 165#
.IncrementRotation 166#
.IncrementRotation 167#
.IncrementRotation 168#
.IncrementRotation 169#
.IncrementRotation 170#
.IncrementRotation 171#
.IncrementRotation 172#
.IncrementRotation 173#
.IncrementRotation 174#
.IncrementRotation 175#
.IncrementRotation 176#
.IncrementRotation 177#
.IncrementRotation 178#
.IncrementRotation 179#
.IncrementRotation 180#
.IncrementRotation 181#
.IncrementRotation 182#
.IncrementRotation 183#
.IncrementRotation 184#
.IncrementRotation 185#
.IncrementRotation 186#
.IncrementRotation 187#
.IncrementRotation 188#
.IncrementRotation 189#
.IncrementRotation 190#
.IncrementRotation 191#
.IncrementRotation 192#
.IncrementRotation 193#
.IncrementRotation 194#
.IncrementRotation 195#
.IncrementRotation 196#
.IncrementRotation 197#
.IncrementRotation 198#
.IncrementRotation 199#
.IncrementRotation 200#
.IncrementRotation 201#
.IncrementRotation 202#
.IncrementRotation 203#
.IncrementRotation 204#
.IncrementRotation 205#
.IncrementRotation 206#
.IncrementRotation 207#
.IncrementRotation 208#
.IncrementRotation 209#
.IncrementRotation 210#
.IncrementRotation 211#
.IncrementRotation 212#
.IncrementRotation 213#
.IncrementRotation 214#
.IncrementRotation 215#
.IncrementRotation 216#
.IncrementRotation 217#
.IncrementRotation 218#
.IncrementRotation 219#

   
   
    '.IncrementTop Selection.Height

End With
 
End Sub
 

Attachments

  • Rotate a shape.xlsm
    15.6 KB · Views: 8
@Debraj , it works awesome. Also I'm trying to upgrade the available code to suit my need. My requirement is to bring available shapes to the extreme left one by one. Just like as soon as we(iPhone users) unlock, how the icons come & takes its positions. That way!

Do you think we can able to do this? I'm looking forward to hear from you. This is gonna be great!!
Please see the attached file.
 

Attachments

  • Rotate a shape.xlsm
    15.6 KB · Views: 16

Hi,

after a shape modification, just insert a pause in your code …​

Code:
Sub APause(Optional P! = 0.01)
                    D! = Timer
                    F! = D + P
    While Timer < F
       If Timer < D Then F = F - 86400: D = 0
       DoEvents
    Wend
End Sub

You can also replace all your increment lines by using a loop structure …
 
@Marc L , this sounds interesting. Presently I have a code which makes the shape to rotate clockwise & anticlockwise.
My requirement is to bring available shapes to the extreme left one by one. Just like as soon as we(iPhone users) unlock, how the icons come & take its positions.

Can you please modify the code & help? Please see the attached file
 

Attachments

  • Bring shapes to the corner.xlsm
    19.3 KB · Views: 14

Just insert a pause after any shape modification !

Example :​
Code:
    .IncrementRotation 1#
    APause

And you must read VBA help of For … Next loop structure …
 
Back
Top