Ingresar dato buscar comparar traer o avisar

Los expertos.
Tengo un libro de 3 hojas matricula, base, búsqueda en ese orden a modo de registro de alumnos el usuario ingresa los datos y presiona el botón copiar para enviar los datos a la hoja "base" acumulando los registros con esta macro que logre modificar de una respuesta que dio elsamatilde a otro usuario.

Sub Copiando()
fila2 = Sheets("Base").Range("A65536").End(xlUp).Row + 1
col2 = 1 'los datos se guardan a partir de la col A
Sheets("Matricula").Select
ActiveSheet.Range("c6").Copy Destination:=Sheets("Base").Cells(fila2, col2)
'repetir por cada dato a enviar, variando fila y col, e incrementando en 1 la variable col2
ActiveSheet.Range("p6").Copy Destination:=Sheets("Base").Cells(fila2, col2 + 1)
ActiveSheet.Range("c8").Copy Destination:=Sheets("Base").Cells(fila2, col2 + 2)
ActiveSheet.Range("u8").Copy Destination:=Sheets("Base").Cells(fila2, col2 + 3)
ActiveSheet.Range("am8").Copy Destination:=Sheets("Base").Cells(fila2, col2 + 4)
ActiveSheet.Range("av8").Copy Destination:=Sheets("Base").Cells(fila2, col2 + 5)
ActiveSheet.Range("c10").Copy Destination:=Sheets("Base").Cells(fila2, col2 + 6)
ActiveSheet.Range("x10").Copy Destination:=Sheets("Base").Cells(fila2, col2 + 7)
ActiveSheet.Range("aj10").Copy Destination:=Sheets("Base").Cells(fila2, col2 + 8)
ActiveSheet.Range("as10").Copy Destination:=Sheets("Base").Cells(fila2, col2 + 9)
ActiveSheet.Range("c12").Copy Destination:=Sheets("Base").Cells(fila2, col2 + 10)
ActiveSheet.Range("x12").Copy Destination:=Sheets("Base").Cells(fila2, col2 + 11)
ActiveSheet.Range("ap12").Copy Destination:=Sheets("Base").Cells(fila2, col2 + 12)
ActiveSheet.Range("c14").Copy Destination:=Sheets("Base").Cells(fila2, col2 + 13)
End Sub
(Por cierto se copio hasta el formato de la celda en la otra hoja, ¿se puede evitar?)
Esta es la hoja de registro que se va llenando en cada fila vacía siguiente luego de presionar el botón copiar.
http://img370.imageshack.us/img370/6227/screenshot016dm9.th.jpg
Lo que quiero lograr es que al ingresar el valor en la celda "C6" que es el RUT, se ejecute una macro al presionar enter, esta vaya a la hoja "base" busque si existe el registro y me avise (si es posible rellenar los otros campos al existir, sino no importa(para eso esta la hoja búsqueda)), de no existir el registro que pase a la celda nombres "P6" (¿también es posible a modo de código hacer que lo ingresa en ciertas celdas se convierta en la 1ra mayúscula? (Con fórmulas se hacerlo =nompropio(Celda)) y así pase de celda en celda al presionar el intro.
Esta también el botón limpiar
Sub Limpiar()
Range("c6, p6, c8, u8, am8, av8, c10, x10, aj10, as10, c12, x12, ap12, c14").Select
Selection. ClearContents
End Sub
Me gustaria que me dejase posicionado en la celda "C6" luego de presionarlo.
Eso seria muchas gracias de antemano por lo que pudiesen hacer por mi y disculpen tremendo post.
De resolverme esta duda la hoja búsqueda no seria necesaria gracias de nuevo.

1 respuesta

Respuesta
1
Tu consulta además de extensa contiene 'varias' consultas.
Te aclararé algunas, el resto por favor ingresa una nueva con el tema preciso.
1 - Viendo tu imagen se me ocurre que no necesitas una macro para llenar la matricula, sino la función BUSCARV en cada campo.
No se vé la imagen de la base de registros, así que imaginemos que en la col A están los Rut, en col siguientes el resto de campos empezando por el nombre.
Entonces en la celda donde va el nombre escribí esta fórmula:
=BUSCARV(C6;BASE!A2:K100;2;FALSE)
El argumento '2' representa la col B, en cada celda irás modificando según la col que tenga el dato a devolver.
2- Para que no se te copien los formatos en una rutina de copiado, debés invertir el pase:
Con formato:
Activesheet.range("C6").Copy destination:=Sheets("Base").Cells(fila2,col2)
Sin formato:
Sheets("Base").cells(fila2,col2) = Activesheet.range("C6")
3- En la rutina de limpieza, antes del End Sub agregá esta línea:
Activesheet.Range("C6").select
Saludos
Elsa
* No te pierdas la promoción de Dbre
http://es.geocities.com/lacibelesdepunilla/manuales
Gracias elsamatilda ya resolviste por mi lo del formato y el posicionamiento del botón limpiar muy agradecido, respecto a lo de la fórmula lo se hacer pero no es lo que quiero, pues la idea es seguir enviando registros a la hoja base hasta completar un total como máximo de 45 alumnos, pues si pongo una fórmula que al coincidir el "RUT" de la hoja "Matricula" con el "RUT" de la hoja "Base" me traerá la información claro y así el resto de los datos, pero si no coincide deberé completar los datos restantes y sobreescribire estas fórmulas contenidas en las celdas, por eso pensaba en una especie de macro o rutina que lo hiciera al momento de presionar el intro y buscase en base la coicidencia de no encontrarla pasarme a la siguiente celda y comenzar a llenar los datos.
No tengo idea por que no se ve la pic de Base pero pongo un nuevo link para que la veas, de antemano gracias por lo venidero, por responder y por solucionarme lo anterior.
aunque atinaste al orden ;)
Saludos.
Pancho.
Podría armarte 1 rutina para hoy pero tendrás más necesidades mañana, porque no estás contemplando la posibilidad de 'modificar' o 'eliminar' registros.
Quisiera que primero revises un ejemplo que tengo en mi sitio de Descargas. Se llama Interactuando con Userforms, donde el primer ejemplo es lo más indicado para tu caso.
Si luego igual decides continuar con tu modelo, te enviaré una rutina para ello
Je je, bueno voy a ser un tanto comprensible, un poco humilde y un tanto ambicioso je je pero como sea su voluntad yo estaré por aquí esperando y mirando otras respuestas, a ver si abro otra total ya me has solucionado la mayoría, mientras reviso los ejemplos me dejaste, muchas gracias de verdad esperare tu pronta respuesta para evaluarte, volver a agradecerte y finalizar este tema.
Muchas Gracias y saludos
Pancho.
Por regla general se responde 1 tema por usuario, te he respondido 3 y además tendrás un ejemplo para usar...
No sé qué más esperarás, pero por mi parte el tema está cerrado, por lo que te solicito cierres esta consulta, así otros también pueden consultar (solo podemos tener un límite de consultas abiertas)
Luego cuando armes tu modelo, podes volver a consultar si necesitas algún ajuste.

Añade tu respuesta

Haz clic para o

Más respuestas relacionadas