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.
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 de Elsa Matilde
1