Can anyone make this faster?

VB Code:
  1. Public Function SquareRoot(ByVal Number As Double) As Double
  2.  
  3. If Number < 0 Then Number = Number * -1
  4.  
  5. Dim i As Long
  6. Dim Temp As Double
  7. Dim Power As Long
  8. Dim Estimate As Double
  9.  
  10. Temp = 1
  11. 'Calculate an initial Estimate
  12. If Number >= 1 Then
  13.     Do While Number > Temp
  14.         Temp = Temp * 10
  15.         Power = Power + 1
  16.     Loop
  17. Else
  18.     Do While Number < Temp
  19.         Temp = Temp / 10
  20.         Power = Power - 1
  21.     Loop
  22. End If
  23.  
  24. Power = Power / -2
  25. Estimate = 10 ^ Power * Number
  26.  
  27. 'Calculate actual square root
  28. Dim OldEstimate As Double
  29.  
  30. Do
  31.     OldEstimate = Estimate
  32.     Estimate = 0.5 * (Estimate + Number/Estimate)
  33. Loop Until OldEstimate = Estimate
  34.  
  35. SquareRoot = Estimate
  36. End Function

(Wrote this just now, so I haven't debugged it; I'll go check it now but I want to post it first just in case I get a BSOD.)