Reemplazar celdas en hoja Excel desde otra hoja

Reemplazar celdas en hoja Excel desde otra hoja

Postby FranciscoA » Wed Jun 15, 2016 6:01 pm

Amigos del foro.

Es la primera vez que intento usar Excel directamente, desde codigo FiveWin, y por eso recurro a ustedes en busca de un ejemplo o guía.

Lo qu necesito hacer es lo siguiente:

Tengo dos hojas excel ("Fuente","Destino") en diferentes libros. Tambien pueden estar en el mismo libro.

1- Recorrer totalmente la hoja "Fuente" y tomar dos valores de las celdas, por ej: de las columnas "E" y "H", a medida que se recorre.
2- El valor tomado de la celda x, Col "E" de la tabla "Fuente", buscarlo en la Col X de la tabla "Destino", y si lo encuentra
reemplazar el valor en la celda xx de la Col Z de la tabla "Destino".

Agradezco de antemano su apoyo.

Saludos.
Francisco J. Alegría P.
Chinandega, Nicaragua.

Fwxh-MySql-TMySql
User avatar
FranciscoA
 
Posts: 2159
Joined: Fri Jul 18, 2008 1:24 am
Location: Chinandega, Nicaragua, C.A.

Re: Reemplazar celdas en hoja Excel desde otra hoja

Postby FranciscoA » Thu Jun 16, 2016 2:17 pm

Nobody?
Francisco J. Alegría P.
Chinandega, Nicaragua.

Fwxh-MySql-TMySql
User avatar
FranciscoA
 
Posts: 2159
Joined: Fri Jul 18, 2008 1:24 am
Location: Chinandega, Nicaragua, C.A.

Re: Reemplazar celdas en hoja Excel desde otra hoja

Postby Armando » Thu Jun 16, 2016 2:22 pm

Francisco:

Nunca he hecho algo parecido a lo que buscas, sin embargo te
puedo sugerir que hagas lo mismo en Excel activando la grabación
de macros y luego veas el código que se genera, aunque en vbasic,
te da la pauta de lo que hay que hacer.

Saludos
SOI, s.a. de c.v.
estbucarm@gmail.com
http://www.soisa.mex.tl/
http://sqlcmd.blogspot.com/
Tel. (722) 174 44 45
Carpe diem quam minimum credula postero
User avatar
Armando
 
Posts: 3242
Joined: Fri Oct 07, 2005 8:20 pm
Location: Toluca, México

Re: Reemplazar celdas en hoja Excel desde otra hoja

Postby FranciscoA » Thu Jun 16, 2016 5:15 pm

Armando, gracias por responder.

Investigaré lo que decís.

Ya he avanzado un poco estudiando los códigos parciales que he encontrado en el foro.

Muchas gracias.
Francisco J. Alegría P.
Chinandega, Nicaragua.

Fwxh-MySql-TMySql
User avatar
FranciscoA
 
Posts: 2159
Joined: Fri Jul 18, 2008 1:24 am
Location: Chinandega, Nicaragua, C.A.

Re: Reemplazar celdas en hoja Excel desde otra hoja

Postby Armando » Thu Jun 16, 2016 6:12 pm

Francisco:

Una vez que empieces pones las dudas aquí y seguramente alguien
podrá dar soluciones. Efectivamente en el foro hay mucho código
aunque no es precisamente lo que buscas, es un buen inicio.

Saludos
SOI, s.a. de c.v.
estbucarm@gmail.com
http://www.soisa.mex.tl/
http://sqlcmd.blogspot.com/
Tel. (722) 174 44 45
Carpe diem quam minimum credula postero
User avatar
Armando
 
Posts: 3242
Joined: Fri Oct 07, 2005 8:20 pm
Location: Toluca, México

Re: Reemplazar celdas en hoja Excel desde otra hoja

Postby Bayron » Fri Jun 17, 2016 12:07 am

No he tocado ese tema aun desde FiveWin, pero supuestamente hojas externas pueden accederse desde la hoja actual, de esta manera:
Code: Select all  Expand view  RUN

=SUM(D:\Reportes\[Ventas.xlsx]Enero!B2:B5)
 
=====>

Bayron Landaverry
(215)2226600 Philadelphia,PA, USA
+(502)46727275 Guatemala
MayaBuilders@gMail.com

FWH12.04||Harbour 3.2.0 (18754)||BCC6.5||UEstudio 10.10||
Windows 7 Ultimate

FiveWin, One line of code and it's done...
User avatar
Bayron
 
Posts: 815
Joined: Thu Dec 24, 2009 12:46 am
Location: Philadelphia, PA

Re: Reemplazar celdas en hoja Excel desde otra hoja

Postby FranciscoA » Fri Jun 17, 2016 4:18 pm

Armando, Byron.

Ya he logrado hacerlo, pero me encuentro con el problema de la velocidad, ya que se recorre la tabla destino hasta encontrar coincidencia.

Estoy buscando la manera de usar las funciones BURCARV, INDICE u otra de EXCEL, para agilizar esto. Si alguien ya lo ha hecho, agreceré información.

El ejemplo de Byron me ha dado ideas que voy a probarlas.

Gracias, a ambos, por su apoyo.

Saludos.
Francisco J. Alegría P.
Chinandega, Nicaragua.

Fwxh-MySql-TMySql
User avatar
FranciscoA
 
Posts: 2159
Joined: Fri Jul 18, 2008 1:24 am
Location: Chinandega, Nicaragua, C.A.

Re: Reemplazar celdas en hoja Excel desde otra hoja

Postby cnavarro » Fri Jun 17, 2016 7:49 pm

Francisco, no tengo referencias sobre la velocidad, pero esto me devuelve la celda en la que se encuentra el valor buscado

https://msdn.microsoft.com/es-es/librar ... 01006.aspx

Image

El formato que tiene la tabla de 237 lineas es:

A B C D E
CLASS TSYMTABLE
CLASS TSYMBOL
CLASS TTABLE
CLASS TOUTLOOK2003GROUP
CLASS TITEMLISTBAR
CLASS TTRAYICON
CLASS TBARTABS
CLASS TOUTLOOK2010GROUP
CLASS TBLOCK
CLASS TTVITEM
CLASS TBRUSHEX

.../...
Cristobal Navarro
Hay dos tipos de personas: las que te hacen perder el tiempo y las que te hacen perder la noción del tiempo
El secreto de la felicidad no está en hacer lo que te gusta, sino en que te guste lo que haces
User avatar
cnavarro
 
Posts: 6552
Joined: Wed Feb 15, 2012 8:25 pm
Location: España

Re: Reemplazar celdas en hoja Excel desde otra hoja

Postby FranciscoA » Fri Jun 17, 2016 11:07 pm

Cristóbal.
Gracias por la información y el código. Voy a probar con :Find(cTexto):xxx
Saludos.
Francisco J. Alegría P.
Chinandega, Nicaragua.

Fwxh-MySql-TMySql
User avatar
FranciscoA
 
Posts: 2159
Joined: Fri Jul 18, 2008 1:24 am
Location: Chinandega, Nicaragua, C.A.

Re: Reemplazar celdas en hoja Excel desde otra hoja

Postby FranciscoA » Sun Jun 19, 2016 2:23 am

Cristobal, Armando, Byron.

Lo he solucionado asi:
Code: Select all  Expand view  RUN
        nR2 := oSheet2:Columns( 1 ):Find( cValueBuscado )
         if nR2 != NIL
            oSheet2:Cells(nR2:Row(),12):Value := cValueReemplazado
         endif
 

Gracias por su apoyo.

Saludos
Francisco J. Alegría P.
Chinandega, Nicaragua.

Fwxh-MySql-TMySql
User avatar
FranciscoA
 
Posts: 2159
Joined: Fri Jul 18, 2008 1:24 am
Location: Chinandega, Nicaragua, C.A.


Return to FiveWin para Harbour/xHarbour

Who is online

Users browsing this forum: No registered users and 107 guests