salve
La premessa è che Excel utilizza il punto come separatore decimale e Vba utilizza la virgola .
Con il tuo esempio:
X=inputbox("") richiami un membro della libreria di excel e come separatore decimale assume il punto.
in questo caso devi modificare la tua macro così:
Public Sub aaa()
x = InputBox("")
ActiveCell = Range("b4") + Val(x)
End Sub
se invece utilizzi la Inputbox come menbro di VBa avresti dovuto scrivere:
X=Application.Inputbox("")
in questo caso usando il punto del tastierino numerico equivarrebbe alla virgola.
saluti
Andrea