Alaska Software Inc. - Como buscar en un rango de Excel
Username: Password:
AuthorTopic: Como buscar en un rango de Excel
RIBO SALAMANCAComo buscar en un rango de Excel
on Thu, 14 Jan 2016 10:45:01 -0500
Hola todos

Alguien que me de una mano con esto:
Estoy tratando de buscar en un rango de celdas en excel pero no logro 
extraer el contenido

LOCAL oRange, nRow, nCol

******* Esta funciona bien pero busca en toda la hoja la primera ocurrencia
oRange := oSheet:Find("01")

******* Esta linea intento busca en el rango especificado per me da error 
Type mismatch
oRange := oSheet:Find("01","B9:B17","D9:D17")   Tengo error -2147352571 
"Type mismatch."

Cual puede ser mi error?
En donde encuentro buena información para estudiar?


nRow := oRange:row
nCol := oRange:column

******* Obtengo el dato de la celda encontrada
xData := oSheet:Cells(nRow,nCol):Value

Saludos y gracias.
Jose Antonio Diego KerejeRe: Como buscar en un rango de Excel
on Sun, 17 Jan 2016 18:50:56 +0100
Hola Ribo:

Prueba el ejemplo que adjunto.

En él se genera una hoja Excel con cinco columnas que se rellenan con 
etiquetas del tipo "Item 1"... "Item 7", se establece un rango de búsqueda 
para las columnas 2, 3 y 4, se localizan las etiquetas "Item 5" y se 
sustituyen por la palabra reemplazado.

Saludos. Diego


PROJECT.XPJ
Test.PRG
Jose Antonio Diego KerejeRe: Como buscar en un rango de Excel
on Sun, 17 Jan 2016 18:56:44 +0100
Segundo intento.


Test.zip
RIBO SALAMANCARe: Como buscar en un rango de Excel
on Sun, 17 Jan 2016 13:34:02 -0500
Maravilloso!!!!
Funciona perfecto y era lo que necesitaba.

Muchas gracias Jose Antonio.

"Jose Antonio Diego Kereje" escribió en el mensaje de 
noticias:4fafa3d2$47a465ab$3a79a@news.alaska-software.com...

Segundo intento.
RIBO SALAMANCARe: Como buscar en un rango de Excel
on Wed, 20 Jan 2016 08:40:26 -0500
Jose Antonio
Tengo otra inquietud, tu ejemplo me sirve si tenemos un solo rango, pero 
necesito redefinir nuevos rangos como deshabilito uno y defino otro?

1er rango funciona perfecto
    nRow := nCol := 0
      oRange:= oSheet:range( 'A28', 'G56' )
      oCells:= oSheet:cells
      dbGoTop()
      DO WHILE !Eof()
         IF ( oCellRange:= oRange:find( 
StrZero(Val(('USOYESTR')->estrato),2) ) ) # nil

            nRow := oCellRange:row
            nCol := oCellRange:column

            oSheet:Cells(nRow,nCol+2):Value := Transform( 
FACTURADO->urbano,"9,999,999,999")
            oSheet:Cells(nRow,nCol+3):Value := Transform( 
FACTURADO->rural,"9,999,999,999")
            oSheet:Cells(nRow,nCol+4):Value := Transform( 
FACTURADO->acueduc,"9,999,999,999")
            oSheet:Cells(nRow,nCol+5):Value := Transform( 
FACTURADO->alcanta,"9,999,999,999")
            oSheet:Cells(nRow,nCol+6):Value := Transform( 
FACTURADO->aseo,"9,999,999,999")
         dbSkip()
      ENDDO

1do rango no hace la busqueda, parece ser que hay que deshacer el primer 
rango?
    nRow := nCol := 0
      oRange:= oSheet:range( 'A68', 'G76' )
      dbGoTop()
      DO WHILE !Eof()
         IF ( oCellRange:= oRange:find( 
StrZero(Val(('USOYESTR')->estrato),2) ) ) # nil

            nRow := oCellRange:row
            nCol := oCellRange:column

            oSheet:Cells(nRow,nCol+2):Value := Transform( 
FACTURADO->urbano,"9,999,999,999")
            oSheet:Cells(nRow,nCol+3):Value := Transform( 
FACTURADO->rural,"9,999,999,999")
            oSheet:Cells(nRow,nCol+4):Value := Transform( 
FACTURADO->acueduc,"9,999,999,999")
            oSheet:Cells(nRow,nCol+5):Value := Transform( 
FACTURADO->alcanta,"9,999,999,999")
            oSheet:Cells(nRow,nCol+6):Value := Transform( 
FACTURADO->aseo,"9,999,999,999")
         ELSE
            MsgBo( ' No se hallo el estrato')
         END IF
        dbSkip()
      ENDDO

Muchas Gracias
Quedo atento
Ribo Salamanca intento.
Jose Antonio Diego KerejeRe: Como buscar en un rango de Excel
on Wed, 20 Jan 2016 23:40:57 +0100
Hola Ribo:

> Tengo otra inquietud, tu ejemplo me sirve si tenemos
> un solo rango, pero necesito redefinir nuevos rangos
> como deshabilito uno y defino otro?

Puedes definir tantos rangos como quieras o necesites, lo puedes comprobar 
en el ejemplo que adjunto.
En tu caso deberás revisar los datos de origen de la hoja de Excel y 
comprobar que los de búsqueda son correctos para que ésta sea posible.

Saludos. Diego


Test.zip
RIBO SALAMANCARe: Como buscar en un rango de Excel
on Fri, 22 Jan 2016 15:38:50 -0500
Entendido José Antonio
Muchas gracias y un abrazo.

"Jose Antonio Diego Kereje" escribió en el mensaje de 
noticias:7c2ee122$2a3b742e$44819@news.alaska-software.com...

Hola Ribo:

> Tengo otra inquietud, tu ejemplo me sirve si tenemos
> un solo rango, pero necesito redefinir nuevos rangos
> como deshabilito uno y defino otro?

Puedes definir tantos rangos como quieras o necesites, lo puedes comprobar
en el ejemplo que adjunto.
En tu caso deberás revisar los datos de origen de la hoja de Excel y
comprobar que los de búsqueda son correctos para que ésta sea posible.

Saludos. Diego