Note sure about the second question, but the for your first question,
use the Worksheet_Change Event. Something like
Private Sub Worksheet_Change(ByVal Target as Range)
Application.Calculate
End Sub
Or even just get rid of the Application.
*** Sent via Developersdex
http://www.developersdex.com ***