Evitar continuar si se ingresan valores nulos

Buenos Días, Creo que mi pregunta en bastante sencilla: Necesito que no se introduzcan valores nulos en un campo, para ello utilicé una lista desplegable, pero no es suficiente dejar desmarcada la casilla de omitir blancos, ya que permite seguir completando otros campos y terminar, guardar e irse a casa. Necesito que ese campo quede completo si, o si, ya que es el nombre de la persona que autoriza la operación, si no está ese nombre no se hace nada! Podrían poner el nombre de quien autoriza sin que éste lo haya hecho, pero es siempre fácil de constatar, al no poner nada y poder continuar algunos se aprovechan de la situación. Necesito evitar que esto pase. Gracias miles!
Silvia Hebe
{"lat":-36.6199366256292,"lng":-56.9737243652344}

1 Respuesta

Respuesta
1
Por lo que expones creo que lo más sencillo es bloquear la hoja y con un código mientras no se inserten datos en la celda a evaluar no se pueda desbloquear si crees que te puede valer dime los rangos y te creo el código
La planilla en cuestión está compuesta por muchos datos y además engloba los movimientos del mes, y además es utilizada por varias personas. Si crees que se podrían combinarse estas variables, me parece fantástico. Lo que quiero es que todos completen la planilla (que es única y utilizada por todos), y no se vayan sin completar la casilla con el nombre del que autorizó, que dicho sea de paso son solo tres personas (por eso utilicé la lista desplegable, para evitar errores), bueno, dicho esto probemos con el código y vemos que pasa. El campo es una columna, la L, desde la fila 5 hacia abajo mientras haya datos. Otra cosa no quisiera pasarme el día desbloqueando la hoja, porque ellos se quedan gritando se traba la planilla! Jajajaja
Gracias de nuevo!
Dime en que casilla tienen que poner el nombre y la haré para que mientras no pongan el nombre no les deje seguir
Por cierto ¿los datos los pasas con macro? Si es así se lo agregamos a la que ya tengas
Entonces, la columna es la L5:L400.
Cada fila se compone de varias columnas que se deben completar y luego en la columna L se encuentra la casilla de autorización. Cada fila se refiere a un día del mes, que luego se contraen (con + y - ) para dejar ver solo la última fila que contiene un total por mes. Tengo otras macros dentro de este libro referidas a otras cosas, como quitar hojas y colocarlas en otro libro, copiar planillas en blanco en otras hojas y un formulario. No soy muy experta, digamos que voy a prueba y verdad, lo que hago es a fuerza de autosuperación, pero imagino que puedo agregar el nuevo código en el explorador de proyectos copiando y pegando... Te agradezco la paciencia y el tiempo para ayudar a una autodidacta.
Saludos, Silvia
Veamos ¿todas las casillas del L5 Al L400? Las rellenan quizás sea mejor que me pases el archivo
d2enrique arroba hotmail.com
Ya te mandé el archivo a tu mail...
Estaba pensando que la casilla debería llevar un código como cuando en access se pide tildar en requerido, si no completas esa casilla, no se puede seguir, o poner algo así:
If Range("L5").Value="" Then
MsgBox"Ingresar el nombre de quien autoriza"
End If
  mmm...Puede ser?
Claro por eso te pido la celda de validación
si los datos los pasa con macro solo has de añadir ese código en tu macro
If Range("L5").Value = "" Then
MsgBox "Ingresar el nombre de quien autoriza"
Exit Sub
End If
MsgBox "Seguir con tu macro"
Si no los pasan con códigos es cuando deberíamos bloquear el resto de celdas y que no las desbloquee hasta que no se introduzca datos en L5
Ya me cuentas
Disculpa si pasaron unos días, no pude continuar. Bueno, los datos se completan a mano, y en la casilla de autorización, puse una lista desplegable con los nombres de los autorizantes; no se pueden poner otros nombres ya que agregué mensaje de error y se pide reintentar. No uso macro para esta parte de la planilla. No entiendo a que te refieres cuando me pides la celda de validación, creo como tu dices, que lo mejor es bloquear el resto de las celdas y que no se desbloqueen hasta introducir datos en L5, me parece la mejor solución. Dime que es la celda de validación así te digo cual es y me envías los códigos.
Saludos!
Este código te desbloquea la hoja cuando cuando realices algún cambio en F5
Private Sub Worksheet_Change(ByVal Target As Range)
datos = "$F$5"
If Not Application.Intersect(Target, Range(datos)) Is Nothing Then
'mostramos un mensaje
MsgBox "YA PUEDE INTRODUCIR DATOS ", vbExclamation + vbOKOnly, "                   AVISO"
ActiveSheet.Unprotect
Application.ScreenUpdating = True
End If
End Sub
Este código debes pegarlo en el código de la hoja para ello entra en el explorador de proyectos y pinchas 2 veces sobre el nombre de la hoja
Si lo quieres con password pega este otro donde la clave como ves seria 123456
Private Sub Worksheet_Change(ByVal Target As Range)
datos = "$F$5"
If Not Application.Intersect(Target, Range(datos)) Is Nothing Then
'pedimos la contraseña
con = InputBox("Escribe la contraseña?", "Contraseña")
If con = "123456" Then
ActiveSheet.Unprotect "123456"
Else
MsgBox "La contraseña no es correcta", vbInformation, "Error"
Exit Sub
'confirmamos y desbloqueamos
MsgBox "YA PUEDE INTRODUCIR DATOS ", vbExclamation + vbOKOnly, "                   AVISO"
ActiveSheet.Unprotect
Application.ScreenUpdating = True
End If
End If
End Sub
Ahora queda el tema de bloquear la hoja por eso te preguntaba si los datos los pasabas con códigos y así poder bloquear la hoja al finalizar de rellenarla
como creo que no es así tendrías que bloquearla o bien directamente o bien con este código
Sub proteger()
Range("F5").Select
    Cells.Select
ActiveSheet.Protect "123456"
End Sub
Este si iría en un modulo y tendrías que insertarle un comando botón
Pruébalo y ya me cuentas si te vale así
Si, es lo que necesitaba, costó un poco entendernos, pero fue lo que quería. Y de hecho no paso los datos con códigos, así que agregué el código que me has proporcionado, además no había pensado en agregar una password y así es mucho mejor. Ya estoy probando la planilla y funciona como quería. Si surge alguna duda ya te lo diré. Agradezco muchísimo tu ayuda, excelente! Seguramente volveré a solicitar tu ayuda en otra ocasión, gracias de nuevo!
Saludos! Silvia.

Añade tu respuesta

Haz clic para o

Más respuestas relacionadas