Как уже упоминалось, вы не можете иметь более одного оператора Dim для переменной с одинаковой областью действия.Кроме этого, однако, почему вы хотите?Возьмем, к примеру, ваш код.
If 1 = 2 Then
Dim i As Integer
Else
Dim i As Integer
End If
Цель условного блока - выполнить два разных куска кода при двух разных обстоятельствах.Если вы объявляете одну и ту же переменную в любом случае, условный блок вообще не нужен.По всей вероятности, его следует перенести до условного.