BUSCARV EN DOS HOJAS DEL MISMO LIBRO

23/09/2005 - 18:56 por Marvin | Informe spam
QUE TAL GRUPO, ALGUIEN DE UDS SABE DE QUE MANERA PUEDO MODIFICAR MI
INTRUCCIÓN DE BUSQUEDA PARA QUE CON ESTA MISMA REALICE LA BUSQUEDA TOMANDO EN
CUENTA DATOS DE DOS HOJASEN EL SIGUIENTE CODIGO REALIZO LA BUSQUEDA SOBRE
UNA UNICA HOJA... PERO DEBIDO A LA CANTIDAD DE DATOS HE TENIDO QUE AGREGAR
UNA SEGUNDA HOJA, ENTONCES QUIERO QUE UTILIZANDO LA MISMA INSTRUCCIÓN ME
BUSQUE UN DATOS PERO DENTRO DE DOS HOJAS... ES POSIBLE??

Windows("RIH_" + Dia + "" + Mes + "" + Anio + "_R8_10DIG.xls").Activate
Range("G2").Select
ActiveCell.FormulaR1C1 = _

"=+IF(AND(RC[-1]>=VLOOKUP(RC[-1],'[LIBRO.TXT]LIBRO'!R3C[-6]:R10110C[15],1,1),RC[-1]<=VLOOKUP(RC[-1],'[LIBRO.TXT]LIBRO'!R3C[-6]:R10110C[15],2,1)),VLOOKUP(RC[-1],'[LIBRO.TXT]LIBRO'!R3C1:R10110C22,3,1),""No Existe"")"
Range("G2").Select
Selection.Copy
Range(Selection, Selection.End(xlDown)).Select
ActiveSheet.Paste
Range("H2").Select
Application.CutCopyMode = False
ActiveCell.FormulaR1C1 = "=+IF(ISERROR(RC[-1]),""No Existe"",RC[-1])"
Range("H2").Select
Selection.Copy
 

Leer las respuestas

#1 KL
23/09/2005 - 21:39 | Informe spam
Hola Marvin,

Unas preguntas:
1) ?El archivo LIBRO.TXT me imagino debera estar abierto al ejecutar tu
codigo, no? De lo contrario habria que incluir la ruta completa en la
formula. ?Cual es la ruta?
2) ?Si tal como sugiere la extension el archivo LIBRO.TXT es un archivo de
texto como puede tener mas de una hoja?
3) ?La busqueda tiene que realizarse mediante formula necesariamente o se
puede hacerlo mediante instrucciones VBA devolviendo los resultados finales
como constantes?
4) ?Cual es el nombre de la segunda hoja del archivo LIBRO.TXT en la cual
hay que buscar?
5) ?El rango de busqueda en la segunda hoja es el mismo que el de la
primera?
6) ?Si el valor se encuentra en ambas hojas, cual tiene la preferencia?
7) ?Si el valor no se encuentra en ninguna de las tablas es necesario
devolver error o podria ser directamente el "No Existe" sin tener que
emplear la segunda formula?

De momento te paso tu codigo optimizado, pero sin incluir la posibilidad de
buscar en dos hojas (lo cual estara sujeto a las respuestas que me des a las
7 preguntas de arriba):

Dim rng As Range
Windows("RIH_" + Dia + "" + Mes + "" + Anio + "_R8_10DIG.xls").Activate
Set rng = Range(Cells(2, "G"), Cells(2, "G").End(xlDown))
rng.FormulaR1C1 = _
"=IF(AND(RC[-1]>=VLOOKUP(RC[-1],'[LIBRO.TXT]LIBRO'!R3C[-6]:R10110C[15],1,1),RC[-1]<=VLOOKUP(RC[-1],'[LIBRO.TXT]LIBRO'!R3C[-6]:R10110C[15],2,1)),VLOOKUP(RC[-1],'[LIBRO.TXT]LIBRO'!R3C1:R10110C22,3,1),""No
Existe"")"
rng.Offset(, 1).FormulaR1C1 ="=IF(ISERROR(RC[-1]),""No Existe"",RC[-1])"

Saludos,
KL


"Marvin" wrote in message
news:
QUE TAL GRUPO, ALGUIEN DE UDS SABE DE QUE MANERA PUEDO MODIFICAR MI
INTRUCCION DE BUSQUEDA PARA QUE CON ESTA MISMA REALICE LA BUSQUEDA TOMANDO
EN
CUENTA DATOS DE DOS HOJASEN EL SIGUIENTE CODIGO REALIZO LA BUSQUEDA
SOBRE
UNA UNICA HOJA... PERO DEBIDO A LA CANTIDAD DE DATOS HE TENIDO QUE AGREGAR
UNA SEGUNDA HOJA, ENTONCES QUIERO QUE UTILIZANDO LA MISMA INSTRUCCION ME
BUSQUE UN DATOS PERO DENTRO DE DOS HOJAS... ES POSIBLE??

Windows("RIH_" + Dia + "" + Mes + "" + Anio + "_R8_10DIG.xls").Activate
Range("G2").Select
ActiveCell.FormulaR1C1 = _

"=+IF(AND(RC[-1]>=VLOOKUP(RC[-1],'[LIBRO.TXT]LIBRO'!R3C[-6]:R10110C[15],1,1),RC[-1]<=VLOOKUP(RC[-1],'[LIBRO.TXT]LIBRO'!R3C[-6]:R10110C[15],2,1)),VLOOKUP(RC[-1],'[LIBRO.TXT]LIBRO'!R3C1:R10110C22,3,1),""No
Existe"")"
Range("G2").Select
Selection.Copy
Range(Selection, Selection.End(xlDown)).Select
ActiveSheet.Paste
Range("H2").Select
Application.CutCopyMode = False
ActiveCell.FormulaR1C1 = "=+IF(ISERROR(RC[-1]),""No Existe"",RC[-1])"
Range("H2").Select
Selection.Copy

Preguntas similares