Компилятор знает тип данных, основываясь на том, как вы пишете в коде 2.214.
Option Explicit
Sub TestIt()
Dim v As Variant
v = 2.214
Debug.Print TypeName(v)
v = "2.214"
Debug.Print TypeName(v)
End Sub
Но, к сожалению, lof из неявного приведения типа данных выполнен. Так что этот код также действителен
Dim d As Double
d = "2.214"
Но учтите, что строка «2.214» преобразуется в двойное число, и результат может зависеть от настроек локали.