Problema buscando una celda de otro archivo

Tengo un problema cuando busco el valor de una celda en otro archivo.
Tengo lo siguiente:
Dim xlApp As Excel.Application
Dim xlLibro As Excel.Workbook
Dim xlHoja As Excel.Worksheet

Set xlApp = New Excel.Application
direccion = "C:\Documents and Settings\Jouse\Escritorio\CONTADORES.xls"
Set xlLibro = xlApp.Workbooks.Open _

(direccion, True, True, , "")
Set xlHoja = xlApp.Worksheets("Hoja1")
Dim resulta As Object

Dim Quebusco As Date
Quebusco = Format(Cells(2, 2), "dd/mm/yy")

xlHoja.Select
Set resulta = Range("A1:H1").Find(Quebusco, LookIn:=xlValues, LookAt:=xlWhole)
En la celda 2,2 tengo la fecha del día que quiero.
No se cómo hacer el Set resulta para que funcione. Siempre encuentra Nothing.
Lo he probado con algo que no sea una fecha por si acaso y tampoco
Muchas gracias.

1 respuesta

Respuesta
1
Mirando lo que tienes creo que tienes un par de errores:
Set xlHoja = xlApp.Worksheets("Hoja1")
Está haciendo referencia a la hoja1 del libro activo, no del que acabas de abrir, lo correcto sería
Set xlHoja = xlLibro.Worksheets("Hoja1")
XlHoja. Select,
debe desaparecer, pues no necesitas seleccionar la hoja y además el libro en que buscas lo estás trabajando en segundo plano.
Y por último, como estas seleccionando la hoja1 del libro activo Range está haciendo referencia a dicha hoja, por lo tanto lo correcto sería
XlHoja. Range
Tu código quedaría así:
Dim xlApp As Excel.Application
Dim xlLibro As Excel.Workbook
Dim xlHoja As Excel.Worksheet
Set xlApp = New Excel.Application
direccion = "C:\Documents and Settings\Jouse\Escritorio\CONTADORES.xls"
Set xlLibro = xlLibro.Workbooks.Open _
(direccion, True, True, , "")
Set xlHoja = xlApp.Worksheets("Hoja1")
Dim resulta As Object
Dim Quebusco As Date
Quebusco = Format(Cells(2, 2), "dd/mm/yy")
'''''''xlHoja.Select
Set resulta = xlHoja.Range("A1:H1").Find(Quebusco, LookIn:=xlValues, LookAt:=xlWhole)
Eso tiene que funcionar.
Corrijo, ya que me equivoqué de línea de código.
Tu código quedaría así
Dim xlApp As Excel.Application
Dim xlLibro As Excel.Workbook
Dim xlHoja As Excel.Worksheet
Set xlApp = New Excel.Application
direccion = "C:\Documents and Settings\Jouse\Escritorio\CONTADORES.xls"
Set xlLibro = xlApp.Workbooks.Open _
(direccion, True, True, , "")
Set xlHoja = xlLibro.Worksheets("Hoja1")
Dim resulta As Object
Dim Quebusco As Date
Quebusco = Format(Cells(2, 2), "dd/mm/yy")
'''''''xlHoja.Select
Set resulta = xlHoja.Range("A1:H1").Find(Quebusco, LookIn:=xlValues, LookAt:=xlWhole)
Eso tiene que funcionar.
Me ha servido de mucho.
Solo comentar que funciona con las dos, ponga la que ponga:
Set xlHoja = xlLibro.Worksheets(fecha_año)
Set xlHoja = xlApp.Worksheets(fecha_año)
No se porqué no se me ocurrió: xlHoja.Range
je je
¡Muchas gracias!

Añade tu respuesta

Haz clic para o

Más respuestas relacionadas