celdas de otros libros con VBA

17/06/2004 - 12:40 por MarianoH | Informe spam
Quiero hacer referencia al valor de una celda de otro
libro con VBA. Pero no doy con la sintaxis del objeto
range.

Si pruebo (Trabajando en Libro1) con algo como:

Workbooks("libro2").Activate
MsgBox (Range("a1").Value)
ActiveWindow.ActivateNext

Me devuelve el valor de la celda A1 del libro1.

Agradezco cuaquier aporte.
 

Leer las respuestas

#1 Fernando Arroyo
17/06/2004 - 13:12 | Informe spam
Hay varias posibles sintaxis, dependiendo de lo que se necesite hacer. Si se trata de saber el valor de una celda fija, la instrucción más corta posiblemente sea:

MsgBox [[Libro2.xls]Hoja1!$A$1]

o una más larga, y en la que se podría cambiar el libro, la hoja y/o la celda en "tiempo de ejecución":

MsgBox Workbooks("Libro2.xls").Worksheets("Hoja1").Range("A1")

Lo que resulta innecesario es seleccionar el libro para acceder al valor de una de sus celdas (la instrucción Activate).
Un saludo.


Fernando Arroyo
MS MVP - Excel


"MarianoH" escribió en el mensaje news:1dae501c45457$8480ad90$
Quiero hacer referencia al valor de una celda de otro
libro con VBA. Pero no doy con la sintaxis del objeto
range.

Si pruebo (Trabajando en Libro1) con algo como:

Workbooks("libro2").Activate
MsgBox (Range("a1").Value)
ActiveWindow.ActivateNext

Me devuelve el valor de la celda A1 del libro1.

Agradezco cuaquier aporte.


Preguntas similares