Variables publicas vs propiedades personaliza

Cerrado
francolaca Mensajes enviados 1 Fecha de inscripción viernes, 13 de junio de 2008 Estatus Miembro Última intervención viernes, 13 de junio de 2008 - 13 jun 2008 a las 15:20
Master4 Mensajes enviados 2225 Fecha de inscripción viernes, 4 de abril de 2008 Estatus Miembro Última intervención sábado, 1 de noviembre de 2008 - 14 jun 2008 a las 15:46
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
Consulta también:

1 respuesta

Master4 Mensajes enviados 2225 Fecha de inscripción viernes, 4 de abril de 2008 Estatus Miembro Última intervención sábado, 1 de noviembre de 2008 1.497
14 jun 2008 a las 15:46
Hola

aca te mando una pagina

http://www.tecn.upf.es/~vlopez/docencia/castellano/todoshtml/PIIt1cas/node44.html
0