Macro para buscar en otro libro

Hernan_g_f

New Member
Joined
Jul 26, 2022
Messages
22
Office Version
  1. 365
Platform
  1. Windows
Hola buen día!

Tengo esta macro que nos permite, utilizando la función vlookup, traer datos desde una hoja a otra hoja de destino. Pero quiero hacer una macro que me traiga desde la hoja 1 del libro 1.xlsm hasta la hoja 2 del libro 2.xls . ¿Qué código tendría que escribir? Muchas gracias!!!

Lo que necesito es qué código puedo escribir para que Sheets("1").Range("E" & Rows.Count).End(xlUp).Row en lugar de
buscar en la hoja 1 del libro 2, busque en la hoja 1 del libro 1

Sheets("1").Select

Dim cont As Long
Dim ultlinea As Long
Dim O As Variant
Dim H As Variant
Dim L As Variant
Dim C As Variant

Dim Fecha As Variant
Dim Rango As Variant
Set Rango = Sheets("1").Range("E16:DH1400")

ultlinea = Sheets("1").Range("E" & Rows.Count).End(xlUp).Row ===> necesito que busque en el libro 1.xlsm

For cont = 17 To ultlinea



Fecha = Sheets("1").Cells(cont, 114)
O = Application.VLookup(Fecha, Rango, 3, False)

If IsError(O) Then
O = 0
End If

Sheets("1").Cells(cont, 115) = O
Next cont

End sub
 

Excel Facts

Is there a shortcut key for strikethrough?
Ctrl+S is used for Save. Ctrl+5 is used for Strikethrough. Why Ctrl+5? When you use hashmarks to count |||| is 4, strike through to mean 5.
Hola Hernan:

No estoy entendiendo muy bien en dónde está la información, en dónde la vas a buscar, qué dato quieres obtener y en dónde quieres poner el resultado.

Puedes explicar con un ejemplo, lo siguiente:
- En dónde está el dato a buscar (libro-hoja-columna-fila)
- En dónde la quieres buscar (libro-hoja-columna)
- Qué dato quieres de resultado (libro-hoja-columna)
- En dónde quieres poner el resultado (libro-hoja-columna)

Nota XL2BB:
Para poner ejemplos aquí en el foro, puedes utilizar la herramienta XL2BB. Puedes descargarla aquí:
XL2BB Add-in
Para practicar puedes poner tus ejemplos en este hilo:
Test Here

Nota para el código:
Para poner el código en el foro utiliza las etiquetas de código (code tag).
Revisa el siguiente enlace:
How to Post Your VBA Code
Ejemplo:
VBA Code:
Sub test()
  Sheets("1").Select
  Dim cont As Long
  Dim ultlinea As Long
  Dim O As Variant
  Dim H As Variant
  Dim L As Variant
  Dim C As Variant
  Dim Fecha As Variant
  Dim Rango As Variant
  Set Rango = Sheets("1").Range("E16:DH1400")
  ultlinea = Sheets("1").Range("E" & Rows.Count).End(xlUp).Row '===> necesito que busque en el libro 1.xlsm
  For cont = 17 To ultlinea
    Fecha = Sheets("1").Cells(cont, 114)
    O = Application.VLookup(Fecha, Rango, 3, False)
    If IsError(O) Then
      O = 0
    End If
    Sheets("1").Cells(cont, 115) = O
  Next cont
End Sub


Saludos
 
Upvote 0
Hola Dante! muchas gracias.

Ya pudimos solucionarlo. Tienes algún libro que puedas sugerirme de programación en VBA ?
Desde ya muchas gracias,
Hernán
 
Upvote 0
Te estaba preparando algo como esto:

Rich (BB code):
Sub BuscarEnOtroLibro()
  Dim wb1 As Workbook, wb2 As Workbook
  Dim sh1 As Worksheet, sh2 As Worksheet
  Dim rng As Range, f As Range
  Dim i As Long, ultlinea As Long
  
  Set sh1 = Workbooks("Libro 1").Sheets("1")    'origen
  Set sh2 = Workbooks("Libro 2").Sheets("2")    'destino

  Set rng = sh1.Range("E16:DH1400")
  
  ultlinea = sh1.Range("E" & Rows.Count).End(xlUp).Row '===> necesito que busque en el libro 1.xlsm



Tienes algún libro que puedas sugerirme de programación en VBA ?
Busca en la red: GRAN TUTORIAL DE MACROS.

Espero te sirva.
 
Upvote 0
Solution

Forum statistics

Threads
1,213,546
Messages
6,114,251
Members
448,556
Latest member
peterhess2002

We've detected that you are using an adblocker.

We have a great community of people providing Excel help here, but the hosting costs are enormous. You can help keep this site running by allowing ads on MrExcel.com.
Allow Ads at MrExcel

Which adblocker are you using?

Disable AdBlock

Follow these easy steps to disable AdBlock

1)Click on the icon in the browser’s toolbar.
2)Click on the icon in the browser’s toolbar.
2)Click on the "Pause on this site" option.
Go back

Disable AdBlock Plus

Follow these easy steps to disable AdBlock Plus

1)Click on the icon in the browser’s toolbar.
2)Click on the toggle to disable it for "mrexcel.com".
Go back

Disable uBlock Origin

Follow these easy steps to disable uBlock Origin

1)Click on the icon in the browser’s toolbar.
2)Click on the "Power" button.
3)Click on the "Refresh" button.
Go back

Disable uBlock

Follow these easy steps to disable uBlock

1)Click on the icon in the browser’s toolbar.
2)Click on the "Power" button.
3)Click on the "Refresh" button.
Go back
Back
Top