도형을 오른쪽 마우스 클릭 > 매크로 지정으로 ratateShapeByClick이라는 매크로를 지정해주세요.
'도형을 클릭하면 10도씩 회전시키기 Sub rotateShapeByClick() With ActiveSheet.Shapes(Application.Caller) .Rotation = .Rotation + 10 End With End Sub
시간단위로 도형을 회전시키고 싶으시다면 아래 코드를 이용해보세요.
워크시트에 컨트롤 도구 상자의 버튼을 만들고 아래 매크로를 각각 지정해주세요.
Option Explicit
Public startTime As Date
'1초 단위로 도형을 10도씩 회전시키기 Sub rotateOntime() startTime = Now + TimeValue("00:00:1") Application.OnTime startTime, "rotateOntime" With ActiveSheet.Shapes("직사각형 1") .Rotation = .Rotation + 10 End With End Sub
'1초 단위로 회전시키는 작업 중지시키기 Sub killOnTime() On Error GoTo bye Application.OnTime earliesttime:=startTime, procedure:="rotateOntime", schedule:=False bye: End Sub
가끔.. roanoh님은 무슨 일을 하시는지 궁금할때가 있습니다.
왜 이런 질문을 할까? 하는 ㅎㅎ
도형 색을 바꾸는 질문이나, 소리가 나는 질문이나, 차트 질문이나..
서로 연관성이 없어 보이는 질문들을 하시길래.. 잠깐 혼자 생각해봤습니다. ㅎㅎ
암튼.. 답변 드리겠습니다. ^^
첨부파일을 참고하세요..
VBA_Shape_rotating_20101126-1.xls
도형을 클릭하면 도형이 회전하게 되는 매크로는 아래와 같습니다.
도형을 오른쪽 마우스 클릭 > 매크로 지정으로 ratateShapeByClick이라는 매크로를 지정해주세요.
'도형을 클릭하면 10도씩 회전시키기
Sub rotateShapeByClick()
With ActiveSheet.Shapes(Application.Caller)
.Rotation = .Rotation + 10
End With
End Sub
시간단위로 도형을 회전시키고 싶으시다면 아래 코드를 이용해보세요.
워크시트에 컨트롤 도구 상자의 버튼을 만들고 아래 매크로를 각각 지정해주세요.
Option Explicit
Public startTime As Date
'1초 단위로 도형을 10도씩 회전시키기
Sub rotateOntime()
startTime = Now + TimeValue("00:00:1")
Application.OnTime startTime, "rotateOntime"
With ActiveSheet.Shapes("직사각형 1")
.Rotation = .Rotation + 10
End With
End Sub
'1초 단위로 회전시키는 작업 중지시키기
Sub killOnTime()
On Error GoTo bye
Application.OnTime earliesttime:=startTime, procedure:="rotateOntime", schedule:=False
bye:
End Sub