Hace tiempo que me pregunto si es indiferente el momento en que se declara cada variable dentro de una sub o función. Normalmente declaro las variables al comienzo del procedimiento, más que nada por verlas todas juntas, pero cada vez que hago esto se me plantea la siguiente cuestión: Si una variable de las declaradas sólo se usa cuando se cumple una determinada condición tal vez convendría declararla en el momento que se va a usar. Es decir, imaginaos un código de este estilo
Dim lng1 as Long , lng2 as Long
If Condicion Then
lng1 = 111111
Msgbox lng1
Exit Sub
Else
Lng1 = 222222
Lng2 = 333333
.
.
.
End If
Supongo que si defino las variables al principio automáticamente se asigna memoria para ellas. Sin embargo, si hago lo siguiente
Dim lng1 as Long
If Condicion Then
lng1 = 111111
Msgbox lng1
Exit Sub
Else
lng1 = 222222
Dim lng2 as Long
lng2 = 333333
.
.
.
End If
¿Si se cumple la condición me he ahorrado el espacio en memoria para lng2? Sospecho que realmente es así pero me gustaría confirmarlo.
Saludos a todos.