Reemplazar celdas en hoja Excel desde otra hoja

Post Reply
User avatar
FranciscoA
Posts: 2163
Joined: Fri Jul 18, 2008 1:24 am
Location: Chinandega, Nicaragua, C.A.

Reemplazar celdas en hoja Excel desde otra hoja

Post by FranciscoA »

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: 2163
Joined: Fri Jul 18, 2008 1:24 am
Location: Chinandega, Nicaragua, C.A.

Re: Reemplazar celdas en hoja Excel desde otra hoja

Post by FranciscoA »

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

Fwxh-MySql-TMySql
User avatar
Armando
Posts: 3271
Joined: Fri Oct 07, 2005 8:20 pm
Location: Toluca, México
Been thanked: 2 times
Contact:

Re: Reemplazar celdas en hoja Excel desde otra hoja

Post by Armando »

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
FranciscoA
Posts: 2163
Joined: Fri Jul 18, 2008 1:24 am
Location: Chinandega, Nicaragua, C.A.

Re: Reemplazar celdas en hoja Excel desde otra hoja

Post by FranciscoA »

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
Armando
Posts: 3271
Joined: Fri Oct 07, 2005 8:20 pm
Location: Toluca, México
Been thanked: 2 times
Contact:

Re: Reemplazar celdas en hoja Excel desde otra hoja

Post by Armando »

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
Bayron
Posts: 815
Joined: Thu Dec 24, 2009 12:46 am
Location: Philadelphia, PA

Re: Reemplazar celdas en hoja Excel desde otra hoja

Post by Bayron »

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


=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
FranciscoA
Posts: 2163
Joined: Fri Jul 18, 2008 1:24 am
Location: Chinandega, Nicaragua, C.A.

Re: Reemplazar celdas en hoja Excel desde otra hoja

Post by FranciscoA »

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
cnavarro
Posts: 6557
Joined: Wed Feb 15, 2012 8:25 pm
Location: España
Been thanked: 3 times

Re: Reemplazar celdas en hoja Excel desde otra hoja

Post by cnavarro »

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
FranciscoA
Posts: 2163
Joined: Fri Jul 18, 2008 1:24 am
Location: Chinandega, Nicaragua, C.A.

Re: Reemplazar celdas en hoja Excel desde otra hoja

Post by FranciscoA »

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: 2163
Joined: Fri Jul 18, 2008 1:24 am
Location: Chinandega, Nicaragua, C.A.

Re: Reemplazar celdas en hoja Excel desde otra hoja

Post by FranciscoA »

Cristobal, Armando, Byron.

Lo he solucionado asi:

Code: Select all | Expand

        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
Post Reply