Introducir dato con un formulario y volver a la ce

Hola amigos tengo un formato para asignar citas medicas y odontologicas, funciona de la siguiente manera, yo dígito el numero de identificación del usuario si este aparece en la base de datos entonces me aparecerá sus datos como nombre, empresa, teléfono. Si no aparece entonces se me activa un formulario que me pide que introduzca estos datos. El problema viene cuando introduzco los datos y este empieza a recorrer uno por uno hasta encontrar la ultima fila desocupada y escribe allí los datos ingresados y como tengo más de 5000 usuarios demora mucho buscando el ultimo campo,
Y lo otro es que luego de digitar los datos y cerrar el formulario me queda activa es la hoja donde están todos los usuarios.
La cuestión seria así. Que pueda introducir datos de un paciente y que no haga todo ese recorrido y que cuando le de guardar a los datos del formulario me quede activa la celda desde donde digite el numero de identificación por vez primer, y que no me haga lo que me esta haciendo que me cambia a otra hoja... Gracias

1 Respuesta

Respuesta
1
La instrucción para buscar el ultimo registro es:
=UltimoV("A";5) como formula para la hoja de excel donde "A", es la columna y 5 es la fila donde comienzan los datos y para macro en un formulario es :
Por ejemplo si los datos comenzaran el la columna A fila 13 seria algo asi
Range("A13").Select
Selection.End(xlDown).Select
Esto te posiciona el la ultima celda con datos o sea debes agregar la siguiente instrucción
ActiveCell.Offset(1, 0).Select
Ahí esta en la primera vacía después de los datos.
Como sabes la celda
Con esta fórmula
ubicacion = ActiveCell.Address
Donde ubicaciones una variable que se define al principio del proceso
Cualquier consulta estamos para ayudarte
Gracias por la rápida respuesta, pero creo que la respuesta esta muy avanzada para mis escasos conocimientos y quede perdido.
Tengo el formulario con este código
Private Sub CommandButton1_Click()
 Sheets("USUARIOS").Select
 Range("A1").Select
Do While ActiveCell <> Empty
ActiveCell.Offset(1, 0).Select
   Loop
    ActiveCell.Value = IDENT.Value
    ActiveCell.Offset(0, 1) = NOMB.Value
    ActiveCell.Offset(0, 2) = EPS.Value
    ActiveCell.Offset(0, 3) = TEL.Value
End Sub
Lleno los texbox que me pide como son identificación, nombre, eps, teléfono, y doy click en guardar pra que se anexe a la hoja usuarios... el problema es que empieza a pasar uno por uno hasta encontrar espacio en la ultima fila disponible y es muy demorado porque tengo muchos usuarios, y ademas se me queda en la hoja usuarios y me gustaría que la celda activa volviera al lugar donde originalmente digite el numero de identificación. Que le puedo hacer al código anterior para que me funcione como lo necesito,, Gracias
Private Sub CommandButton1_Click()
   Sheets("USUARIOS").Select
   Range("A1").Select
   Selection.End(xlDown).Select
    ActiveCell.Offset(1, 0).Select
    ActiveCell.Value = IDENT.Value
    ActiveCell.Offset(0, 1) = NOMB.Value
    ActiveCell.Offset(0, 2) = EPS.Value
    ActiveCell.Offset(0, 3) = TEL.Value
    worksheets("nombre otra hoja").activate
End Sub
Prueba este código, igual es simple para que no te compliques, si necesitas otra cosa o de los mismo tengo algunos ejemplos para que puedas practicar

Añade tu respuesta

Haz clic para o

Más respuestas relacionadas