Excel VBA Animation Examples

Animations  That Created With VBA Codes     

         Simple and instructive animations for those who want to learn the Excel programming. Macro codes of the animations can be viewed in the workbooks.


Generally ,the shapes in the worksheet are moved with Vba codes and loops.

excel animations


excel vba animation sample
Let's review an VBA animation sample :


🔊 This Excel animation includes an .wav file to play audio during action.


excel animation with audio

The codes that provide action when the start button is clicked:
Sub Baslat()
SesDosyasi = ThisWorkbook.Path & Application.PathSeparator & "ses1.wav"
Dim sh As Shape
Dim s1 As Worksheet
Dim r As Range
Dim konumX As Double
Dim konumY As Double

Dur = False

Set s1 = ThisWorkbook.Worksheets("ANIMA")
Set sh = s1.Shapes("excelvba.net")
Set r = s1.Range("F7")
If Not IsNumeric(s1.Range("HIZ")) Then Hiz = 10 Else Hiz = s1.Range("HIZ")
If Hiz <= 0 Or Hiz > 50 Then
Hiz = 1
s1.Range("HIZ") = 10
End If
If Not IsNumeric(s1.Range("ACI")) Then Aci = 0 Else Aci = s1.Range("ACI")
If Aci < 0 Or Aci > 360 Then
Aci = 0
s1.Range("ACI") = 0
End If

radyan = Aci * pi / 180
konumX = sh.Left
konumY = sh.Top
Do
'Calculate position konumX = konumX + 3 * Cos(radyan)
konumY = konumY + 3 * Sin(radyan)

'Did the shape hit the right edge?
If (konumX + sh.Width >= r.Left + r.Width) Then
konumX = r.Left + r.Width - sh.Width
radyan = pi - radyan
sh.Adjustments(1) = 0.718
sndPlaysound SesDosyasi, 1
End If

'Did the shape hit the left edge?
If (konumX <= r.Left) Then
konumX = r.Left
radyan = pi - radyan
sh.Adjustments(1) = 0.718
sndPlaysound SesDosyasi, 1
End If

'Did the shape hit the up ?
If (konumY <= r.Top) Then
konumY = r.Top
radyan = radyan * -1
sh.Adjustments(1) = 0.718
sndPlaysound SesDosyasi, 1
End If

'Did the shape hit the bottom ?
If (konumY + sh.Height >= r.Top + r.Height) Then
konumY = r.Top + r.Height - sh.Width
radyan = -1 * radyan
sh.Adjustments(1) = 0.718
sndPlaysound SesDosyasi, 1
End If

sh.Left = konumX
sh.Top = konumY
sh.Rotation = sh.Rotation + 3
sh.Adjustments(1) = sh.Adjustments(1) + 0.002
Bekle (50 / Hiz)
Loop Until Dur
End Sub

Lines starting with apostrophes ( ' ) in VBA codes are comments.
excel vba animation action excel movement



No comments:

Post a Comment