Because APSDPS.Text is a String and you can't use strings in numeric calculations. CDbl converts a string to a double (or raises an exception if the string cannot be converted). For example, you can't execute
x = 5.3 + "19.12"
but you can do
x = 5.3 + Cdbl("19.12")