Autor
|
Tema: programacion en visual basic.ayuda para importar de excel a excel (Leído 4,620 veces)
|
Railil
Desconectado
Mensajes: 124
|
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...
|
|
« Última modificación: 20 Junio 2006, 16:09 pm por Railil »
|
En línea
|
PROVERBIO CHINO: "si un hombre tiene hambre,no le des un pez,enseñale a pescar"
|
|
|
Railil
Desconectado
Mensajes: 124
|
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
|
|
« Última modificación: 20 Junio 2006, 16:10 pm por Railil »
|
En línea
|
PROVERBIO CHINO: "si un hombre tiene hambre,no le des un pez,enseñale a pescar"
|
|
|
Railil
Desconectado
Mensajes: 124
|
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
|
|
« Última modificación: 20 Junio 2006, 16:11 pm por Railil »
|
En línea
|
PROVERBIO CHINO: "si un hombre tiene hambre,no le des un pez,enseñale a pescar"
|
|
|
|
Mensajes similares |
|
Asunto |
Iniciado por |
Respuestas |
Vistas |
Último mensaje |
|
|
ejercicios visual basic para excel
Ejercicios
|
kmetano
|
0
|
3,984
|
7 Agosto 2012, 16:50 pm
por kmetano
|
|
|
Problemas para generar Excel desde PHP
PHP
|
shellb_c0de
|
1
|
2,131
|
2 Mayo 2013, 00:38 am
por #!drvy
|
|
|
Como importar datos de una hoja de calculo excel a una BD sql
Programación Visual Basic
|
cbr20
|
7
|
8,064
|
22 Mayo 2013, 12:56 pm
por cbr20
|
|
|
Ayuda en Excel y Visual Basic
Programación Visual Basic
|
LynxAssassin97
|
2
|
2,364
|
28 Noviembre 2014, 21:56 pm
por LynxAssassin97
|
|
|
Formulario en excel con visual basic 2017 para profesores
Dudas Generales
|
danielg26
|
1
|
2,415
|
26 Abril 2017, 15:25 pm
por PalitroqueZ
|
|