Foros del Web » Soporte técnico » Ofimática »

Variables publicas vs propiedades Personalizadas

Estas en el tema de Variables publicas vs propiedades Personalizadas en el foro de Ofimática en Foros del Web. Saludos a todos estoy trabajando con VBA para excel y hace semanas que tengo un problema que me esta volando la cabeza. Espero que alguien ...
  #1 (permalink)  
Antiguo 13/06/2008, 07:14
 
Fecha de Ingreso: marzo-2008
Mensajes: 23
Antigüedad: 16 años, 1 mes
Puntos: 0
Pregunta Variables publicas vs propiedades Personalizadas

Saludos a todos estoy trabajando con VBA para excel y hace semanas que tengo un problema que me esta volando la cabeza. Espero que alguien pueda ayudarme pk ya no se que hacer.

La idea es escrivir un codigo que me genere programaticamente controles (opttion y command butons, image controls, etc). Una vez generados los controles ese codigo me tiene que generar programáticamente el codigo correspondiente a los controles. Como "complicacion" adicional todo (absolutamente todo) el codigo debe estar escrito en el módulo de objeto ThisWorkbook.

Les comento que avance bastante hasta que me tope con un problema que no puedo solucionar.

Lo primero que hice es utilizar el evento Workbook_Open() para iniciar todo. El evento Workbook_Open llama a otros procedimientos sub (tambien escritos en ThisWorkbook) que van generando los controles e introduciendolos en una hoja del libro (que por cierto, tambien se crea programaticamente desde el evento Workbook_Open).

Luego se carga la referencia "Microsoft Visual Basic for Applications Extensibility 5.3". Esta _
biblioteca de objetos permite generar programaticamente los eventos de los controles. Ahora puedo utilizar metodos (pertenecientes a la biblioteca anterior) para generar programaticamente los eventos de los controles creados previamente (si los controles se ubicaron en HojaX los eventos se deben ubicar tambien en HojaX).

Esta aqui todo bien. Escriviendo codigo sólo en ThisWorkbook y utilizando el evento Workbook_Open pude lograr, o al menos eso pense, lo que queria.

El problema me surgio cuando quice poner a preba los eventos. Cuando le daba click a algun control me salia el siguiente error:

Error de compilacion: no se ha definido sub o function

Despues de probar mucho me di cuenta que era porque en ThisWorkbook defini variables publicas que no eran reconocidas por los eventos. Por ejemplo, en thisworkbook declaro la variable de objeto miRango:

Public miRango as Range

set miRango = Activesheet.Range("A1:C2")

Tengo un command button que al hacer click en el me debe cambiar el contenido del rango anterior. El evento del comman button que se ingreso programaticamente (desde thisworkbook) es algo así:

private sub Commandbutton1_Click()

Activesheet.ThisWorkbook.miRango.Value = "Ronda de Apuestas"

end sub

La variable publica miRango no es detectada por el evento del control!!!!

Porque pasa esto????? es porque cuando se termina de ejecutar ThisWorkbook_Open todas las variables publicas desaparecen?????

Se pueden utilizar variables publicas definidas en thisWorkbook en los eventos de los controles???? como se puede hacer????

si no se puede, de que otra manera puedo hacerlo???? propiedades personalizadas???? AYUDA POR FAVOR
  #2 (permalink)  
Antiguo 16/06/2008, 02:13
Avatar de Taribo007  
Fecha de Ingreso: agosto-2007
Mensajes: 1.338
Antigüedad: 16 años, 8 meses
Puntos: 18
Respuesta: Variables publicas vs propiedades Personalizadas

Prueba declarando las varibels publicas, que quieras usar en cualquier hoja, en un modulo aparte. Es decir, en la ventan de VBA, en el explorador de proyectos, Insertar, modulo

Un saludo
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta




La zona horaria es GMT -6. Ahora son las 15:31.