Ambito de las variables
24 julio, 2011 Deja un comentario
El ámbito de una variable es el contexto dentro del que la variable está definida. Esto implica los sitios en donde dicha variable puede ser empleada y por tanto reconocida. Las variables globales o públicas se pueden acceder en cualquier lugar de la página, mientras que las variables locales o privadas sólo tienen validez dentro de la función donde han sido creadas. De modo que una variable global la podemos acceder dentro de cualquier parte del código, mientras que si intentamos acceder a una variable local fuera de la función donde fue creada, nos encontraremos con que esa variable no tiene contenido alguno.
Para entenderlo mejor vamos a realizar el siguiente ejemplo. Abra el editor e inserte el siguiente módulo:
Sub ejemplo3()
‘variable local
Dim pregunta As String
pregunta = InputBox(«¿Usuario?»)
Cells(1, 1) = pregunta
End Sub
El ejercicio nos pregunta que insertemos un nombre de usuario, que posteriormente se inserta en la celda A1. Hemos declarado la variable de forma local a nivel de módulo o procedimiento. Si a continuación insertáramos otro módulo exactamente igual pero sin la definición de la variable nos daría lugar a un error:
Sub ejemplo4()
pregunta = InputBox(«¿Usuario?»)
Cells(1, 1) = pregunta
End Sub
Por lo tanto para remediar esto y poder hacer uso de la variable que hemos definido a lo largo de todos los procedimientos del presente proyecto hemos de definir la variable con la palabra Public inmediatamente debajo de la frase Option Explicit:
Option Explicit
Public pregunta As String
Hágalo y ejecute el código anterior, verá que desaparece el error y funciona correctamente.