Excel - Hacer un find pero desde otro archivo

 
Vista:

Hacer un find pero desde otro archivo

Publicado por Felix Mejia (6 intervenciones) el 19/09/2006 22:41:57
Muchachos,

tengo una consulta. Estoy corriendo una macro desde un archivo especifico, lo que hace es abrir varios archivos. Lo que se requiere es ubicarse en uno de los archivos en una hoja especifica y hacer un find allí en el texto "liquidez" por ejm.

Estuve intentando esto:

Dim nfirstrow As String
Dim nlastrow As String

Workbooks("wbOrigenBegoPR").Worksheet("BASETEMP").Cells.Find(What:="Liquidez Inicial", After:=ActiveCell, LookIn:=xlFormulas, LookAt _
:=xlPart, SearchOrder:=xlByRows, SearchDirection:=xlNext, MatchCase:= _
False).Activate
nfirstrow = ActiveCell.Row
filasiniciales(1) = nfirstrow
Workbooks("wbOrigenBegoPR").Worksheet("BASETEMP").Cells.Find(What:="Liquidez Final", After:=ActiveCell, LookIn:=xlFormulas, LookAt _
:=xlPart, SearchOrder:=xlByRows, SearchDirection:=xlNext, MatchCase:= _
False).Activate
nlastrow = ActiveCell.Row
filasfinales(1) = nlastrow
Call CopiarTramo(wsOrigenBegoPR, wsDestino, colDia, filasiniciales, filasfinales, colIniOrigen)

Donde wbOrigenBegoPr es el nombre del archivo y basetemp la pestaña donde se encuentra los datos.

Sin embargo me sale el siguiente error:

"subindice fuera del intervalo".

que puede estar ocurriendo, como puedo corregir el error?.

Gracais de antemano.

Felix
Valora esta pregunta
Me gusta: Está pregunta es útil y esta claraNo me gusta: Está pregunta no esta clara o no es útil
0
Responder

RE:Hacer un find pero desde otro archivo

Publicado por José Luis (700 intervenciones) el 20/09/2006 08:48:55
El error está ocasionado por usar matrices que no están definidas o nombres de hojas o libros que no existen.
¿Has abierto el libro wbOrigenBegoPR?
¿Existe la hoja llamada BASETEMP?
¿Dónde está la declaración de las variables matriciales filasiniciales(1) y filasfinales(1) ?

Saludos
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

RE:Hacer un find pero desde otro archivo

Publicado por felix (6 intervenciones) el 20/09/2006 18:18:37
Que tal...gracais por responder.

En realidad, el libro orgen ya está abierto:

hojaOrigen = "BASETEMP"
Set wbOrigenBegoPR = Workbooks.Open(libroOrigenBegoPR, False, True)
Set wsOrigenBegoPR = wbOrigenBegoPR.Worksheets(hojaOrigen).

La hoja basetemp si existe.

Si había declarado las variables matriciales:
filasiniciales(1) y filasfinales(1)

Mas bien el error era porque staba considerando la captura de la fila de la siguiente forma:

Workbooks(libroOrigenBegoPR).Worksheet("BASETEMP").Cells.Find(What:="Liquidez Inicial", After:=ActiveCell, SearchOrder:=xlByRows, SearchDirection:=xlNext).Activate
nfirstrow = ActiveCell.Row
filasiniciales(1) = nfirstrow

Ahora lo que hice fue lo siguiente:

nfirstrow = CStr(wbOrigenBegoPR.Sheets("BASETEMP").Cells.Find(What:="Liquidez Inicial", SearchDirection:=xlNext, SearchOrder:=xlByRows).Row)

filasiniciales(1) = nfirstrow

Y yame salió. Creo que estaba usando mal esto de aqui:
Workbooks(libroOrigenBegoPR).Worksheet("BASETEMP")......mi intención era analizar una hoja específica dentro de un libro, pero no era la forma de definirlo. La forma correcta es:

wbOrigenBegoPR.Sheets("BASETEMP").

Corrígeme por favor si estoy errado.

Saludos

Félix
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

RE:Hacer un find pero desde otro archivo

Publicado por José Luis (700 intervenciones) el 20/09/2006 20:13:01
Si te funciona es correcto.
Saludos
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar