Saltar al contenido

Recommended Posts

publicado

Hola buenos días, estoy haciendo una macro con el cual traigo los datos de diferentes libros y de ahí extraigo datos, según la hoja que necesito.

mi macro actualmente funciona. indicando directamente el nombre del libro al que quiero hacer referencia.

Set l2 = Workbooks("Bd_Sunny1.xlsm")

pero como trabajo con diferentes archivos y datos me gustaría poner en la celda U1 del libro1 el nombre del archivo al cual quiero hacer referencia, y no estar modificando mi macro a cada momento.

Mi libro1 (L1) es donde esta la macro y L2 es el libro de donde buscare los datos.

trate de hace referencia de esta manera.

nA = l1.Sheets("Contenido").Range("U1").Value  (esta escrito en celda el nombre del archivo)

Pero me marca error de no coinciden los tipos y me marca en amarillo:

Set l2 = Workbooks(nA) (aqui he puesto el libro) y nombrado en libro1

Espero me puedan guiar para mejorar esta parte.

este es la estructura de mi macro:

Sub TraerDatosLib()

Dim Ws As Worksheet
Dim l1 As Workbook
'Dim l2 As Worksheet
Dim l2 As Workbook
Dim nA As String ' si debo corregir

'-------
    Set l1 = ThisWorkbook
    Set h1 = l1.ActiveSheet

 Set l2 = Workbooks(nA) 'que referencie el archivo la celda U1 del libro 1

'Set l2 = Workbooks("Bd_SunnyGrand1.xlsm")'cuando pongo el nombre de manera directa
'-- nA libro diferente nombrado en celda U1 y hb nombre de la hoja que buscara en libro2
nA = l1.Sheets("Contenido").Range("U1").Value 'en la celda del libro 1 va el nombre del libro al que hare referencia
 hb = l1.Sheets("Contenido").Range("U4").Value
'---
 ok = False
 For Each Ws In l2.Worksheets
   If Ws.Name = (hb) Then
    ok = True
    Exit For
   End If
 Next Ws

If ok Then ' si existe

Muchas gracias

 

publicado

Buenas, tienes que cargar la variable " nA " antes de cargar el libro.

nA = l1.Sheets("Contenido").Range("U1").Value 'en la celda del libro 1 va el nombre del libro al que hare referencia
Set l2 = Workbooks(nA) 'que referencie el archivo la celda U1 del libro 1

saludos.

Conéctate para comentar

Podrás dejar un comentario después de conectarte



Conéctate ahora
×
×
  • Crear nuevo...

Información importante

Echa un vistazo a nuestra política de cookies para ayudarte a tener una mejor experiencia de navegación. Puedes ajustar aquí la configuración. Pulsa el botón Aceptar, si estás de acuerdo.