Validación Excel mediante macros

Mi pregunta es que como haría para validar un rango de celdas cualquiera que solo puedan digitar una serie de números, pero sujetos a otra condición, solo con macros, me explico.

El macro que tengo que hacer es para la facturación de una empresa, una persona digita su cedula y esta trae información de una bd, la información que trae es nombre y tipo de contrato, el tipo de contrato solo puede ser medio tiempo o tiempo completo.

Bueno, entonces por decir llega la persona X y su tipo de contrato es Tiempo completo, en un celda tiene que digitar sus horas laboradas x dia, como es tiemo completo solo puede ingresar un valor entre 1 y 8, pero si en cambio fuera medio tiempo solo puede ingresar un numero del 1 al 4.

Ademas la validación tiene que hacerse cuando digite el numero en la celda y dependiendo del tipo dejarlo digitar el numero o sacarle un aviso diciéndole que el numero de horas no corresponde a su tipo de contrato. La verdad he buscado por cielo y tierra como validar celdas mediante macros y los códigos que encuentro no los entiendo en lo mas mínimo.

1 respuesta

Respuesta
1

Mucho no habrás buscado en este foro, porque aquí llevo años (y otros expertos también) dejando rutinas explicadas paso a paso ;)

Bien, parece que tu formulario está diseñado en una hoja Excel. Entonces ya habrás llenado algunas celdas y ahora le llega el turno a la de horas, supongamos sea la celda D2.

No necesitas una macro para esto, lo podes resolver con Validación del menú Datos, opción Personalizada y en el campo escribí esta fórmula:

=O(Y(B2="Tiempo completo";D2>=1;D2<=8);Y(B2="Medio tiempo";D2>=1;D2<=4))

El texto tiene que estar escrito tal como se verá en la celda B2 o en la que decidas mostrar el tipo de contrato.

Luego podes personalizar el mensaje que se mostrará en caso de error desde la misma ventana de validación.

Si de todos modos lo necesitas con una macro, tenés que dejarme indicado en qué celdas se controlará esta información y dónde se coloca el tipo de contrato.

Hola no se si soy un poco ignorante en esta cuestión pero no me funciono la solución planteada o no la supe implementar correctamente, para serte mas claro, te dejo el proyecto,

Si te posas en la segunda hoja guardar ya veras que allí hice esa validación pero por macros, lo malo es que solo valida la información cuando apretá el botón guardar, y yo deseo que valide la información cuando el usuario digite en la celda horas trabajadas y le de enter o pase a otra celda.

Igualmente muchas gracias por tu aclaración.

El archivo:

https://mega.co.nz/#!HpZBmSCK!MItxCUNZqPdDaoZnZ_zSc3CnM2gcsYEpMciS8lGV0q0

También me gustaría si fueras tan amable y me dijeras el código en vb que me da la posision de un valor buscado, por ejemplo, en el proyecto yo tengo los registros que guardo en la hoja bd, también deseo hacer un botón que se llame modificar el cual me traiga el registro que quiera de esa hoja y me deje modificar las horas.

No se me carga tu linkl... envíamela a mi correo y así te devuelvo la solución en tu propio libro.

Lo podes tomar de mi sitio que aparece al pie, aparece en la barra de navegación de mis páginas.

Añade tu respuesta

Haz clic para o

Más respuestas relacionadas