Materi Perkuliahan

Membuat Media Animasi Timbangan Menggunakan VBA

Dipublikasikan pada : 7 Februari 2021.

Sub coba()
On Error Resume Next
Dim lembar As Worksheet
Set lembar = Worksheets(1)
Range(“J6”) = Range(“J6”) + 1
lembar.Shapes(“batang”).Rotation = Range(“j6”)
Pi = 4 * Application.WorksheetFunction.Atan2(1, 1)
lembar.Shapes(“timbangan”).Left = (lembar.Shapes(“batang”).Left + lembar.Shapes(“batang”).Width – lembar.Shapes(“timbangan”).Width / 2) – (lembar.Shapes(“batang”).Width / 2) * (1 – Cos(Range(“J6”) * Pi / 180))
lembar.Shapes(“timbangan”).Top = lembar.Shapes(“batang”).Top – lembar.Shapes(“timbangan”).Width / 2 + (lembar.Shapes(“batang”).Width / 2) * (Sin(Range(“J6”) * Pi / 180))
lembar.Shapes(“timbangan1”).Left = (lembar.Shapes(“batang”).Left – lembar.Shapes(“timbangan1”).Width / 2) + (lembar.Shapes(“batang”).Width / 2) * (1 – Cos(Range(“J6”) * Pi / 180))
lembar.Shapes(“timbangan1”).Top = lembar.Shapes(“batang”).Top – (lembar.Shapes(“batang”).Width / 2) * (Sin(Range(“J6”) * Pi / 180))
lembar.Shapes(“rotor”).IncrementRotation -Range(“J6”)
End Sub
Sub kembali()
On Error Resume Next
Dim lembar As Worksheet
Set lembar = Worksheets(1)
Range(“J6”) = Range(“J6”) – 1
lembar.Shapes(“batang”).Rotation = Range(“j6”)
Pi = 4 * Application.WorksheetFunction.Atan2(1, 1)
lembar.Shapes(“timbangan”).Left = (lembar.Shapes(“batang”).Left + lembar.Shapes(“batang”).Width – lembar.Shapes(“timbangan”).Width / 2) – (lembar.Shapes(“batang”).Width / 2) * (1 – Cos(Range(“J6”) * Pi / 180))
lembar.Shapes(“timbangan”).Top = lembar.Shapes(“batang”).Top – lembar.Shapes(“timbangan”).Width / 2 + (lembar.Shapes(“batang”).Width / 2) * (Sin(Range(“J6”) * Pi / 180))
lembar.Shapes(“timbangan1”).Left = (lembar.Shapes(“batang”).Left – lembar.Shapes(“timbangan1”).Width / 2) + (lembar.Shapes(“batang”).Width / 2) * (1 – Cos(Range(“J6”) * Pi / 180))
lembar.Shapes(“timbangan1”).Top = lembar.Shapes(“batang”).Top – (lembar.Shapes(“batang”).Width / 2) * (Sin(Range(“J6”) * Pi / 180))
lembar.Shapes(“rotor”).IncrementRotation Range(“J6”)
Application.OnTime Now() + TimeValue(“00:00:01”), “coba”, , False
End Sub
Sub posisi()
Dim lembar As Worksheet
Set lembar = Worksheets(1)
Range(“J6”) = 0
lembar.Shapes(“masa1”).TextFrame2.TextRange.Text = 0
lembar.Shapes(“masa2”).TextFrame2.TextRange.Text = 0
lembar.Shapes(“batang”).Rotation = 0
lembar.Shapes(“timbangan”).Left = (lembar.Shapes(“batang”).Left + lembar.Shapes(“batang”).Width – lembar.Shapes(“timbangan”).Width / 2) – (lembar.Shapes(“batang”).Width / 2) * (1 – Cos(Range(“J6”) * Pi / 180))
lembar.Shapes(“timbangan”).Top = lembar.Shapes(“batang”).Top – lembar.Shapes(“timbangan”).Width / 2 + (lembar.Shapes(“batang”).Width / 2) * (Sin(Range(“J6”) * Pi / 180))
lembar.Shapes(“timbangan1”).Left = (lembar.Shapes(“batang”).Left – lembar.Shapes(“timbangan1”).Width / 2) + (lembar.Shapes(“batang”).Width / 2) * (1 – Cos(Range(“J6”) * Pi / 180))
lembar.Shapes(“timbangan1”).Top = lembar.Shapes(“batang”).Top – (lembar.Shapes(“batang”).Width / 2) * (Sin(Range(“J6”) * Pi / 180))

End Sub

Sub tambahan1()
Dim lembar As Worksheet
Set lembar = Worksheets(1)
lembar.Shapes(“masa1”).TextFrame2.TextRange.Text = lembar.Shapes(“masa1”).TextFrame2.TextRange.Text + 1
End Sub
Sub kurangan1()
Dim lembar As Worksheet
Set lembar = Worksheets(1)
lembar.Shapes(“masa1”).TextFrame2.TextRange.Text = lembar.Shapes(“masa1”).TextFrame2.TextRange.Text – 1
End Sub
Sub tambahan2()
Dim lembar As Worksheet
Set lembar = Worksheets(1)
lembar.Shapes(“masa2”).TextFrame2.TextRange.Text = lembar.Shapes(“masa2”).TextFrame2.TextRange.Text + 1
End Sub
Sub kurangan2()
Dim lembar As Worksheet
Set lembar = Worksheets(1)
lembar.Shapes(“masa2”).TextFrame2.TextRange.Text = lembar.Shapes(“masa2”).TextFrame2.TextRange.Text – 1
End Sub
Sub gerak()
Dim lembar As Worksheet
Set lembar = Worksheets(1)
Pi = 4 * Application.WorksheetFunction.Atan2(1, 1)
a = Val(lembar.Shapes(“masa1”).TextFrame2.TextRange.Text)
b = Val(lembar.Shapes(“masa2”).TextFrame2.TextRange.Text)
Application.OnTime Now() + TimeValue(“00:00:01”), “gerak”
If a > b Then
Range(“J6”) = Range(“J6”) + 1
lembar.Shapes(“rotor”).IncrementRotation -Range(“J6”)
Else
If a < b Then
Range(“J6”) = Range(“J6”) – 1
lembar.Shapes(“rotor”).IncrementRotation Range(“J6”)
Else
If a = b Then
Range(“J6”) = Range(“J6”) + 1
lembar.Shapes(“rotor”).IncrementRotation 0
End If
End If
End If
lembar.Shapes(“batang”).Rotation = Range(“j6”)
lembar.Shapes(“timbangan”).Left = (lembar.Shapes(“batang”).Left + lembar.Shapes(“batang”).Width – lembar.Shapes(“timbangan”).Width / 2) – (lembar.Shapes(“batang”).Width / 2) * (1 – Cos(Range(“J6”) * Pi / 180))
lembar.Shapes(“timbangan”).Top = lembar.Shapes(“batang”).Top – lembar.Shapes(“timbangan”).Width / 2 + (lembar.Shapes(“batang”).Width / 2) * (Sin(Range(“J6”) * Pi / 180))
lembar.Shapes(“timbangan1”).Left = (lembar.Shapes(“batang”).Left – lembar.Shapes(“timbangan1”).Width / 2) + (lembar.Shapes(“batang”).Width / 2) * (1 – Cos(Range(“J6”) * Pi / 180))
lembar.Shapes(“timbangan1”).Top = lembar.Shapes(“batang”).Top – (lembar.Shapes(“batang”).Width / 2) * (Sin(Range(“J6”) * Pi / 180))

lembar.Shapes(“timbangan”).Left = (lembar.Shapes(“batang”).Left + lembar.Shapes(“batang”).Width – lembar.Shapes(“timbangan”).Width / 2) – (lembar.Shapes(“batang”).Width / 2) * (1 – Cos(Range(“J6”) * Pi / 180))
lembar.Shapes(“timbangan”).Top = lembar.Shapes(“batang”).Top – lembar.Shapes(“timbangan”).Width / 2 + (lembar.Shapes(“batang”).Width / 2) * (Sin(Range(“J6”) * Pi / 180))
lembar.Shapes(“timbangan1”).Left = (lembar.Shapes(“batang”).Left – lembar.Shapes(“timbangan1”).Width / 2) + (lembar.Shapes(“batang”).Width / 2) * (1 – Cos(Range(“J6”) * Pi / 180))
lembar.Shapes(“timbangan1”).Top = lembar.Shapes(“batang”).Top – (lembar.Shapes(“batang”).Width / 2) * (Sin(Range(“J6”) * Pi / 180))
If Abs(Range(“J6”)) = 7 Then
Application.OnTime Now() + TimeValue(“00:00:01”), “gerak”, , False
End If

End Sub

id_IDIndonesian