is there a faster (better) way of doing this?

VB Code:
  1. Private Function GetAngle(X1 As Single, Y1 As Single, X2 As Single, Y2 As Single) As Single
  2.     On Error Resume Next
  3.     Dim XDiff As Long
  4.     Dim YDiff As Long
  5.     Dim Angle As Single
  6.     XDiff = Abs(X1 - X2)
  7.     YDiff = Abs(Y2 - Y1)
  8.     Angle = Atn(XDiff / YDiff)
  9.     Angle = Angle * 180 / Pi
  10.     If Y2 > Y1 Then Angle = 180 - Angle
  11.     If X2 < X1 Then Angle = 0 - Angle
  12.    
  13.     If Angle < 0 Then Angle = 360 + Angle
  14.    
  15.     If YDiff = 0 And X1 - X2 < 0 Then
  16.         Angle = 90
  17.     End If
  18.    
  19.     If YDiff = 0 And X1 - X2 > 0 Then
  20.         Angle = 270
  21.     End If
  22.    
  23.     GetAngle = Angle
  24. End Function