Título: programacion en visual basic.ayuda para importar de excel a excel Publicado por: Railil en 11 Mayo 2006, 10:16 am ante todo muy buenas gente del foro.
os comento mi problemilla: vereis tengo un par de documentos de word con el mismo formato(por ejemplo dni nombre y apellido)(pongamos q uno de los documentos es 2005 y el otro 2006) ahora bien tengo un tercero del q tengo q importar los datos a los otros dos, pero no de cualquier manera xq yo lo q quiero es conseguir q solo se pasen algunos de los datos q coincidan con una variable comun q tienen(es decir el tercer documento consistiria en dni direccion y telefono y yo lo q querria es q para los dnis coincidentes copiara la direccion y el telefono en el segundo y/o el primero de los documentos)teneis alguna idea,alguien sabe como hacerlo??rogaria por favor q me respondierais lo antes posible ya que tengo un poquito de prisa ....gracias de antemano saludos desd valencia... Título: Re:programacion en visual basic.ayuda para importar de excel a excel Publicado por: Railil en 13 Junio 2006, 09:56 am el tema estaba en las macros y la programacion en visual basic
aqui dejo el codigo q consegui sacarme asi q si alguien ve alguna mejora o algun fallo x favor no dudeis en comunicarmelo... bueno os replanteo el problema x si acaso.... tenemos varios documentos de excel,uno de ellos son las entradas q ha habido de un determinado material(columna h como "primary key" en todos ellos ademas es el dato comun q tienen las diferentes tablas)otro los materiales q hay en el alamcen y en este documento por degracia y por circunstancias ajenas no tenemos anotados los comentarios q si tenemos en entradas y queremos pasarlos a almacen.para esto hice una macro con dos botones y aqui dejo el codigo de ambos botones(uno es tomar datos(en entradas copio los comentarios) y el otro es insertar datos(en almacen inserto los comentarios)) el primero de ellos es: Private Sub CommandButton1_Click() Rem se traslada lo primero a la celda H2(nº de lote) Range("H2").Select Rem si no hay dato en H2 no debe entrar en el bucle If ActiveCell = Empty Then GoTo salte Rem abre archivo Open "c:\datos.txt" For Output As 1 Rem activo etiqueta para volver regresa: Rem captura el lote If ActiveCell.Offset(0, 2) <> Empty Then lote = ActiveCell Rem mueve dos columnas ActiveCell.Offset(0, 2).Select Rem captura observaciones obser = ActiveCell Rem escribe en archivo Write #1, lote, obser Rem retrocede dos columnas ActiveCell.Offset(0, -2).Select End If Rem baja un renglon ActiveCell.Offset(1, 0).Select Rem si la celda ESTA VACIA Q NO REGRESE If ActiveCell = Empty Then GoTo salte Rem regresa a escribir siguiente lote GoTo regresa salte: Rem se acabo la copia y cierro archivo Close #1 End Sub y el segundo es: Private Sub CommandButton2_Click() Rem primero habria q ordenar el fixero por lote Rem luego darle el formato deseado al fixero destino Rem y luego situarnos en H2 Range("H2").Select Rem abre arxivo para lectura Open "c:\datos.txt" For Input As 1 Do While Not EOF(1) Rem lee los datos Input #1, lote, obser salto2: Rem comprueba q lote=lote si es diferente lo manda al final del programa sino sigue If ActiveCell.FormulaR1C1 <> lote Then GoTo salto1 Rem muevo hasta observaciones ActiveCell.Offset(0, 2).Select Rem escribo ActiveCell.FormulaR1C1 = obser Rem vuelvo a la columna apropiada ActiveCell.Offset(0, -2).Select ActiveCell.Offset(1, 0).Select GoTo salto3 Rem aqui llega el salto 1 y lo q llegue hasta la sentencia anterior salto1: ActiveCell.Offset(1, 0).Select If ActiveCell.FormulaR1C1 <> Empty Then GoTo salto2 Rem ahora he de escribir una nueva linea(fila)con el elemento Rem primero escribo el lote ActiveCell.FormulaR1C1 = lote Rem ahora me desplazo hasta la columna O ActiveCell.Offset(0, 7).Select Rem copio el valor de obser ActiveCell.FormulaR1C1 = obser Rem vuelvo a H2 para empezar con el siguiente ciclo Range("H2").Select Rem activa el ciclo do-while q regresa hasta q se cumpla la condicion salto3: Loop Rem cierra el arxivo Close #1 End Sub bueno eso es todo,agradecere vuestras correcciones ciaooo,saludos desd valencia Título: Re: programacion en visual basic.ayuda para importar de excel a excel Publicado por: Railil en 20 Junio 2006, 16:08 pm ahora aunq ya esta resuelto me gustaria q me echarais una mano diciendome si se os ocurre como hacerlo en un solo command button por favor,es decir q un solo boton tome los datos de hoja1,los compare con hoja2, y realice las comparaciones pertinentes,y si ademas me dijerais como añadir datos en una hoja3,seria perfecto.como veis mi problema es q no se como programar en visual basic un cambio de hoja.... :-\,gracias...saludos desd valencia
|