@FlorentB .: Спасибо, на самом деле я этого не знал! Я добавил его в свой ответ (включая пример репо).

у проверить типVariant, Это можно сделать сTypeName а такжеVarType, Я думаю, что с помощьюVarType более эффективен, так как не требует сравнения строк, только числовое сравнение. Любая причина для предпочтенияTypeName?

Public Sub testType()
    Dim b() As Double
    Dim a As Variant
    a = b

    Debug.Print TypeName(a) = "Double()" 'True
    Debug.Print VarType(a) = vbArray + vbDouble 'True
End Sub

Ответы на вопрос(1)

Ваш ответ на вопрос