Option Explicit
Private Salida As String
Private bo As String
Sub Inicia()
On Error Resume Next
Dim X, Y, X1, Y1, Radio, Ang As Integer
Dim xtierra, ytierra, tx1, ty1 As Integer
Dim V As Integer
Salida = ""
Radio = ActiveSheet.Shapes("Sol").Width + 10
Range("A1").Select
ActiveSheet.Shapes("Sol").Left = 1750
Do While Salida <> "SALIR"
For Ang = 1 To 315
X = ActiveSheet.Shapes("Sol").Left + ActiveSheet.Shapes("Sol").Height / 2
Y = ActiveSheet.Shapes("Sol").Top + ActiveSheet.Shapes("Sol").Width / 2
If Salida = "SALIR" Then Exit Do
ActiveSheet.Shapes("Mercurio").Left = (((Radio - 250) * Sin((Ang / 25) * 4.999999999) + X) - ActiveSheet.Shapes("Mercurio").Height / 2)
ActiveSheet.Shapes("Mercurio").Top = (((Radio - 250) * Cos((Ang / 25) * 4.999999999) - Y * -1) - ActiveSheet.Shapes("Mercurio").Width / 2)
ActiveSheet.Shapes("Venus").Left = (((Radio - 200) * Sin((Ang / 25) * 3.999999999) + X) - ActiveSheet.Shapes("Venus").Height / 2)
ActiveSheet.Shapes("Venus").Top = (((Radio - 200) * Cos((Ang / 25) * 3.999999999) - Y * -1) - ActiveSheet.Shapes("Venus").Width / 2)
ActiveSheet.Shapes("Tierra").Left = (((Radio - 120) * Sin((Ang / 25) * 1.999999999) + X) - ActiveSheet.Shapes("Tierra").Height / 2)
ActiveSheet.Shapes("Tierra").Top = (((Radio - 120) * Cos((Ang / 25) * 1.999999999) - Y * -1) - ActiveSheet.Shapes("Tierra").Width / 2)
ActiveSheet.Shapes("Marte").Left = (((Radio - 30) * Sin((Ang / 50) * 2.99999999) + X) - ActiveSheet.Shapes("Marte").Height / 2)
ActiveSheet.Shapes("Marte").Top = (((Radio - 30) * Cos((Ang / 50) * 2.99999999) - Y * -1) - ActiveSheet.Shapes("Marte").Width / 2)
ActiveSheet.Shapes("Jupiter").Left = (((Radio + 100) * Sin((Ang / 25) / 0.999999999) + X) - ActiveSheet.Shapes("Jupiter").Height / 2)
ActiveSheet.Shapes("Jupiter").Top = (((Radio + 100) * Cos((Ang / 25) / 0.999999999) - Y * -1) - ActiveSheet.Shapes("Jupiter").Width / 2)
ActiveSheet.Shapes("Saturno").Left = (((Radio + 330) * Sin((Ang / 25) / 1.999999999) + X) - ActiveSheet.Shapes("Saturno").Height / 2)
ActiveSheet.Shapes("Saturno").Top = (((Radio + 330) * Cos((Ang / 25) / 1.999999999) - Y * -1) - ActiveSheet.Shapes("Saturno").Width / 2)
ActiveSheet.Shapes("Urano").Left = (((Radio + 480) * Sin((Ang - 80) / 50) + X) - ActiveSheet.Shapes("Urano").Height / 2)
ActiveSheet.Shapes("Urano").Top = (((Radio + 480) * Cos((Ang - 80) / 50) - Y * -1) - ActiveSheet.Shapes("Urano").Width / 2)
ActiveSheet.Shapes("Neptuno").Left = (((Radio + 550) * Sin((Ang - 180) / 50) + X) - ActiveSheet.Shapes("Neptuno").Height / 2)
ActiveSheet.Shapes("Neptuno").Top = (((Radio + 550) * Cos((Ang - 180) / 50) - Y * -1) - ActiveSheet.Shapes("Neptuno").Width / 2)
xtierra = ActiveSheet.Shapes("tierra").Left + ActiveSheet.Shapes("tierra").Height / 2
ytierra = ActiveSheet.Shapes("tierra").Top + ActiveSheet.Shapes("tierra").Width / 2
tx1 = 50 * Cos(Ang / 3) + xtierra
ty1 = 50 * Sin(Ang / 3) - ytierra * -1
ActiveSheet.Shapes("luna").Left = (tx1 - ActiveSheet.Shapes("luna").Height / 2)
ActiveSheet.Shapes("luna").Top = (ty1 - ActiveSheet.Shapes("luna").Width / 2)
ActiveSheet.Shapes("Halley").Left = ((Radio + 850) * Cos((Ang - 850) / 50) + X - ActiveSheet.Shapes("Halley").Height / 2) * 2
ActiveSheet.Shapes("Halley").Top = ((Radio + 250) * Sin((Ang - 1800) / 50) - Y * -1 - ActiveSheet.Shapes("Halley").Width / 2) / 2
DoEvents
Next Ang
Loop
End Sub
Sub Fin()
Salida = "SALIR"
End Sub
Comentarios sobre la versión: Versión 1.0 (1)