Unir dos hojas en excel
As) necesito me ayuden en lo siguiente: tengo dos hojas de cálculo, en cada una de ellas hay varios datos con un campo en común. Deseo saber los campos que son iguales.
1 Respuesta
Puedes poner ejemplos de esta forma
Hoja1
A B C D
1 dato dato dato dato
2 dato dato dato dato
3 dato dato dato dato
Hoja2
A B C D
1 dato dato dato dato
2 dato dato dato dato
3 dato dato dato dato
Resultado esperado
A B C D
1 dato dato dato dato
2 dato dato dato dato
3 dato dato dato dato
Y dónde quieres el resultado
Saludos. Dam
disculpa pero sigo sin entender, no se si lo que me escribe es una pregunta o quiere que le envíe datos de la manera en que me los presenta.
Para entender lo que quieres, tienes que explicarme con algunos ejemplos, solamente escribe los datos actuales de tus hojas y como le haces tu para identificar los campos iguales, y yo, en la medida de lo posible, hare automático esa identificación. Saludos. Dam
Estimado
La hoja 1 tiene los siguientes campos:
RUT PATERNO MATERNO NOMBRES AFP ISAPRE JORNADA CARGO BIENIO FEC.ING.
La hoja 2 tiene los siguientes campos:
APELLIDOS NOMBRES R.U.T. FECHADE CARGO FECHAN° ESPECIALIDAD
Lo que necesito es que de las dos hojas quede una tercera que me muestre todos los campos que me faltan en una u otra hoja.
Disculpa que insista, pero tienes que poner ejemplos. Solamente pon los datos que tienes en la hoja1 y dime exactamente en dónde están (A1, A2, B2, etc), simula que no están en la hoja2 y qué datos quieres poner en la hoja3 y exactamente en dónde los quieres. Después pones un ejemplo de los datos de la hoja2 (poniendo también exactamente en qué celdas está la información), simulas que no se encuentran en la hoja1 y me dices qué datos quieres poner en la hoja3 y exactamente en dónde los quieres.
Y dime de todos los campos de la hoja1 con cuál campo buscas en la hoja2.
Saludos. Dam
Hoja 1
A1 A2 A3 A4 A5 A6 A7 A8 A9 A10
RUT PATERNO MATERNO NOMBRES AFP ISAPRE JORNADA CARGO BIENIO FEC.ING.
16478482-7 ALVARADO ESTURILLO GRACIA FERNANDA PRÓVIDA FONASA 44 00 19-01-2010
Hoja 2
A1 A2 A3 A4 A5 A6 A7 A8
APELLIDOS NOMBRES R.U.T. FECHADE CARGO FECHA N° ESPECIALIDAD
BASCUR VALDES DANIEL ISRAEL6.624.781-304-09-1956 NO DOCENTE 01-01-1994 44 PARADOCENTE
Hoja 3
A1 A2 A3 A4 A5 A6 A7 A8 A9 A10
RUT AFP ISAPRE JORNADA CARGO BIENIO FEC.ING CARGO N° ESPECIALIDAD
Ojalá esto aclare mi consulta, gracias por la preocupación.
Creo que no me he explicado bien, tienes que ser lo mas detallado posible en tu explicación, es decir, en tu ej de la hoja1, cual de todos los datos que pusiste es el que debo comparar en la hoja2 y si no lo encuentro, exactamente que datos de la hoja1 me debo llevar a la hoja3, y asi, con el siguiente ejemplo de la hoja2, que dato debo buscar en la hoja1 y si no lo encuentro que datos me llevo a la hoja3.
Entre mas detallado y con ejemplos reales mas fácil sera entender.
Hola: el dato a comprar de la hoja 1 con la hoja 2 es el RUT, tengo los dos archivos si me dices a que correo puedo mandarlo a lo mejor eso aclararía más.
Perdona que te haya hecho trabajar con los ejemplos, te anexo la macro, con algunas consideraciones, pues no conozco los datos.
Indicaciones:
Deberás tener un libro de excel con 3 hojas: Hoja1 con los RUT en la columna A, la Hoja2 con los RUT en la columna C, y una Hoja3 limpia.
La macro buscará los RUT de la Hoja1 en la Hoja2 y los que no encuentre los pondrá en la Hoja3. También buscará los RUT de la Hoja2 en la Hoja1 y los que no encuentre los pondrá en la Hoja3.
Instrucciones para ejecutar macro
1. Abre tu hoja de excel
2. Para abrir Vba-macros y poder pegar la macro, Presiona Alt + F11
3. En el menú elige Insertar / Módulo
4. En el panel del lado derecho copia la macro
5. Para ejecutarla presiona F5
Sub buscarut() 'busca y si no encuentra lo lleva a la hoja3 'por.Dam Set h1 = Sheets("hoja1") Set h2 = Sheets("hoja2") Set h3 = Sheets("hoja3") h3.Cells.ClearContents h1.Select j = 2 For i = 2 To h1.Range("A" & h1.Range("A" & Rows.Count).End(xlUp).Row) h2.Select Range("C:C").Select Set Rango = Selection.Find(What:=h1.Cells(i, 1), After:=ActiveCell, _ LookIn:=xlFormulas, LookAt:=xlPart, _ SearchOrder:=xlByRows, SearchDirection:=xlNext, _ MatchCase:=True, SearchFormat:=False) If Rango Is Nothing Then '"No se encontró " h1.Cells(i, 1).EntireRow.Copy Destination:= _ h3.Cells(j, 1) j = j + 1 End If Next h2.Select For i = 2 To h2.Range("C" & h2.Range("C" & Rows.Count).End(xlUp).Row) h1.Select Range("A:A").Select Set Rango = Selection.Find(What:=h2.Cells(i, 3), After:=ActiveCell, _ LookIn:=xlFormulas, LookAt:=xlPart, _ SearchOrder:=xlByRows, SearchDirection:=xlNext, _ MatchCase:=True, SearchFormat:=False) If Rango Is Nothing Then '"No se encontró " h2.Cells(i, 3).EntireRow.Copy Destination:= _ h3.Cells(j, 1) j = j + 1 End If Next End Sub
Saludos.Dam
- Compartir respuesta