Лучше всего добавлять
Option Explicit
в начале каждого модуля.Это обеспечит объявление всех переменных и предотвратит большинство опечаток.
После этого исправьте эту строку:
MsgBox asnwer
У вас есть опечатка.Должно быть
MsgBox answer
Кроме того, вам не нужно объявлять эти переменные как параметры.
Sub area(p As Single, radius As Integer)
Замените эту строку на:
Sub area()
Также проверьтенекоторые другие корректировки, которые я сделал.
Окончательный код:
Option Explicit
Sub Area()
Dim answer As Double
Dim radius As Double
' area of circle is 3.14 x r(sq)
' Define PI constant
Dim p As Double
p = WorksheetFunction.Pi()
' Ask for the radius
radius = InputBox("Enter the radius")
' Calculate area
answer = p * radius ^ 2
' Show the user the answer
MsgBox answer
End Sub