Variable Publica

02/03/2005 - 04:03 por Fabian | Informe spam
Hola a Todos!
Es posible usar una variable perteneciente a un libro, en otro libro?
Si es posible me pudiesen decir que tipo de variable tiene que ser y donde
declararla, sino tendre que pasarla a una celda y tomarla de alli. La
variable en cuestion seria esta:
Libro1=ThisWorkbook.Name

Gracias.

Preguntas similare

Leer las respuestas

#6 Fabian
03/03/2005 - 06:26 | Informe spam
Bueno, tengo algunas cosas claras, ya le cambie el nombre al proyecto y
mañana voy a tratar de usar la variable, el vinculo que me mandaste es una
obra de arte, le rompiste el cerebro a Desastres y al final le diste la
palanca.
Te digo que lo que me recomendaste leyera en la ayuda de VB lo estoy
repasando hace semanas, y lo que explicas en el articulo no lo dice la
ayuda.
Saludos y gracias por todo.

"Fabian" escribió en el mensaje
news:
La ayuda la uso permanentemente, pero siempre se necesita una manito.
Voy a revisar el sitio que me recomendas y despues te cuento.
Saludos.
"Héctor Miguel" escribió en el mensaje
news:#
> hola, Fabian !
>
> > ... establecer referencias entre ellos? Tengo formulas entre los dos
libros
> > ... problema es: que le cambien el nombre... no lo va a encontrar
> > ... que desde un libro al otro lo reconociera con una variable en
este caso seria ThisWorkbook.Name
>
> para [tratar de] 'explicar' la referencia que use en el mensaje anterior
de...
> =>establecer referencias 'entre' ellos en sus respectivos proyectos de
macros<> > 1.- no es 'suficiente' con crear vinculos entre los libros a traves de


sus
formulas en las hojas de calculo.
> 2.- para poder utilizar variables del proyecto de macros de un libro en
las macros del proyecto vba 'de otro' libro...
> -> desde el editor de vba... [menu] herramientas / referencias...


<> 'aqui es donde' se deben establecer referencias
> -> EN el libro que necesita utilizar las variables hacia el


proyecto
de macros 'del otro' libro [el que las contiene]
> -> y las variables que van a ser usadas por otros libros...


necesitan
quedar 'totalmente publicas' <= OJO
>
> > Por ejemplo:
> > Codigo Libro1 'En este libro hay tablas con datos
> > Libro1=ThisWorkbook.Name 'Esta variable la tiene que usar el Libro2
> > Codigo Libro2
> > For Each R In


Workbooks("Libro1").Worksheets("Hoja1").Range("F2:F65536")
> > If IsEmpty(R) Then Exit For
> > 'Mucho, demasiado, quiza... hasta innecesario codigo!?
> > Next
>
> 3.- hay alternativas para [incluso] 'brincar' la necesidad de


referenciar
proyectos vba 'entre libros'
> [ademas] para que NO 'te afecte' si se cambia de nombre a
libros/hojas, puedes usar sus 'codename'
> -> solo habria que asegurarse que los codename de los libros sean
diferentes en la sesion <-
> 4.- para no 'profundizar demasiado' [al menos, de momento] en estos


temas,
[si me permites] te 'sugiero'...
> una 'rapida visita' al asistente de ayuda {F1} en vba y


'preguntale'
dos cosas...
> a.- como hacer referencia a celdas y rangos
> b.- comprender la vida de las variables
> 5.- hay una conversacion +/- 'extensa' al respecto que puedes ver aqui:
http://tinyurl.com/4ue5u
>
> si cualquier duda [o informacion adicional]... ¿comentas?
> saludos,
> hector.
>
>


Respuesta Responder a este mensaje
#7 Héctor Miguel
03/03/2005 - 07:25 | Informe spam
hola, Fabian !

... tengo algunas cosas claras... y mañana voy a tratar de usar la variable
... lo que me recomendaste... en la ayuda de VB lo estoy repasando hace semanas
... lo que explicas en el articulo no lo dice la ayuda.



[seguramente es que] solo lo he 'masticado' con [un poquito de] 'mas calma' :)
ya veras que terminaras 'pescando' [exactamente] lo que buscas/necesitas
aunque probablemente [al gual que yo] NO 'te quitaras' de algunos 'a prueba y error' :))

te agrdaezco el 'feed-back' y los comentarios
[solo quisiera dejar claro que nunca ha sido 'mi intencion' -ni lo sera jamas-... 'abatir' a nadie]
[sobre todo... despues de lo que aprendi de esa precisa conversacion, gracias a quien pregunto] ;)
[lo dejamos en... 'una picara apreciacion en su momento'] ;)

saludos,
hector.
Respuesta Responder a este mensaje
#8 Fabian
03/03/2005 - 07:40 | Informe spam
La ultima consulta
Como hago para cambiar el codename de un libro?
Siempre es "ThisWorkbook" , o hago mal la consulta.
Sub Codigonombre()
MiLibro=ThisWorkbook.CodeName
End Sub
ThisWorkbook.CodeName=MiLibro 'no lo acepta porque es solo lectura, entonces
como se cambia, o solo se puede cambiar el ProyectoVBA.
Saludos y gracias.
"Héctor Miguel" escribió en el mensaje
news:#
hola, Fabian !

> ... establecer referencias entre ellos? Tengo formulas entre los dos


libros
> ... problema es: que le cambien el nombre... no lo va a encontrar
> ... que desde un libro al otro lo reconociera con una variable en


este caso seria ThisWorkbook.Name

para [tratar de] 'explicar' la referencia que use en el mensaje anterior


de...
=>establecer referencias 'entre' ellos en sus respectivos proyectos de


macros<> 1.- no es 'suficiente' con crear vinculos entre los libros a traves de sus
formulas en las hojas de calculo.
2.- para poder utilizar variables del proyecto de macros de un libro en


las macros del proyecto vba 'de otro' libro...
-> desde el editor de vba... [menu] herramientas / referencias... <'aqui es donde' se deben establecer referencias
-> EN el libro que necesita utilizar las variables hacia el proyecto


de macros 'del otro' libro [el que las contiene]
-> y las variables que van a ser usadas por otros libros... necesitan


quedar 'totalmente publicas' <= OJO

> Por ejemplo:
> Codigo Libro1 'En este libro hay tablas con datos
> Libro1=ThisWorkbook.Name 'Esta variable la tiene que usar el Libro2
> Codigo Libro2
> For Each R In Workbooks("Libro1").Worksheets("Hoja1").Range("F2:F65536")
> If IsEmpty(R) Then Exit For
> 'Mucho, demasiado, quiza... hasta innecesario codigo!?
> Next

3.- hay alternativas para [incluso] 'brincar' la necesidad de referenciar


proyectos vba 'entre libros'
[ademas] para que NO 'te afecte' si se cambia de nombre a


libros/hojas, puedes usar sus 'codename'
-> solo habria que asegurarse que los codename de los libros sean


diferentes en la sesion <-
4.- para no 'profundizar demasiado' [al menos, de momento] en estos temas,


[si me permites] te 'sugiero'...
una 'rapida visita' al asistente de ayuda {F1} en vba y 'preguntale'


dos cosas...
a.- como hacer referencia a celdas y rangos
b.- comprender la vida de las variables
5.- hay una conversacion +/- 'extensa' al respecto que puedes ver aqui:


http://tinyurl.com/4ue5u

si cualquier duda [o informacion adicional]... ¿comentas?
saludos,
hector.


Respuesta Responder a este mensaje
#9 Héctor Miguel
03/03/2005 - 08:04 | Informe spam
hola, Fabian !

Como hago para cambiar el codename de un libro?
Siempre es "ThisWorkbook" , o hago mal la consulta.
Sub Codigonombre()
MiLibro=ThisWorkbook.CodeName
End Sub
ThisWorkbook.CodeName=MiLibro 'no lo acepta porque es solo lectura, entonces
como se cambia, o solo se puede cambiar el ProyectoVBA.



puedes cambiar cualquiera de los dos:
-> el 'codename' del libro [ThisWorkbook por omision'] -> en la ventana de propiedades del editor de vba
-> el nombre del proyecto de macros [VBAProject por omision] -> en herramientas / propiedades de VBAProject...

saludos,
hector.
Respuesta Responder a este mensaje
#10 Fabian
03/03/2005 - 10:17 | Informe spam
Ahora si. Gracias.
No me di cuenta porque hace rato que no uso la ventana.
Saludos.
"Héctor Miguel" escribió en el mensaje
news:
hola, Fabian !

> Como hago para cambiar el codename de un libro?
> Siempre es "ThisWorkbook" , o hago mal la consulta.
> Sub Codigonombre()
> MiLibro=ThisWorkbook.CodeName
> End Sub
> ThisWorkbook.CodeName=MiLibro 'no lo acepta porque es solo lectura,


entonces
> como se cambia, o solo se puede cambiar el ProyectoVBA.

puedes cambiar cualquiera de los dos:
-> el 'codename' del libro [ThisWorkbook por omision'] -> en la ventana de


propiedades del editor de vba
-> el nombre del proyecto de macros [VBAProject por omision] -> en


herramientas / propiedades de VBAProject...

saludos,
hector.


Respuesta Responder a este mensaje
Ads by Google
Help Hacer una preguntaSiguiente AnteriorRespuesta Tengo una respuesta
Search Busqueda sugerida