Have you ever wanted to create a pie chart in Excel that spins? I didn't think so, but anyway, below is a little bit of VBA that will do the job if you've got a toggle button on your spreadsheet (ToggleButton1).
Option Explicit
Dim Spinning As Boolean
Dim RotateCalled As Integer
Public Sub Rotate()
'http://msdn.microsoft.com/en-us/library/aa173240(office.11).aspx
RotateCalled = RotateCalled + 1
If RotateCalled > 1 Then Exit Sub ' Only call once
Dim x As Integer
Do
If Spinning = True Then
Worksheets("Sheet1").ChartObjects(1).Chart.PieGroups(1).FirstSliceAngle = x
x = x + 1
If x = 360 Then x = 0
End If
Call Wait(0.05)
Loop
End Sub
Sub Wait(tSecs As Single)
Dim sngSec As Single
sngSec = Timer + tSecs
Do While Timer < sngSec
DoEvents
Loop
End Sub
Private Sub ToggleButton1_Click()
If ToggleButton1.Value = True Then
Spinning = True
ToggleButton1.Caption = "Stop"
Else
Spinning = False
ToggleButton1.Caption = "Go"
End If
Call Rotate
End Sub
1 Then Exit Sub ' Only call once
Dim x As Integer
Do
If Spinning = True Then
Worksheets("Sheet1").ChartObjects(1).Chart.PieGroups(1).FirstSliceAngle = x
x = x + 1
If x = 360 Then x = 0
End If
Call Wait(0.05)
Loop
End Sub
Sub Wait(tSecs As Single)
Dim sngSec As Single
sngSec = Timer + tSecs
Do While Timer < sngSec
DoEvents
Loop
End Sub
Private Sub ToggleButton1_Click()
If ToggleButton1.Value = True Then
Spinning = True
ToggleButton1.Caption = "Stop"
Else
Spinning = False
ToggleButton1.Caption = "Go"
End If
Call Rotate
End Sub
Wayne's World of IT (WWoIT), Copyright 2008 Wayne Martin.
Information regarding Windows Infrastructure, centred mostly around commandline automation and other useful bits of information.
No comments:
Post a Comment