¿Cómo Elaborar una fórmula que me permita validar el dato de una celda dependiendo de la celda de la derecha en la misma fila?

Si por ejemplo en la celda C6 ingreso la letra "N", en la celda de la derecha no me permita ingresar ni la letra "A" ni la letra "D" sobre la misma fila de columnas. Agradezco su amable colaboración, esto con el fin de elaborar una tabla de turnos de vigilantes de seguridad.

1 Respuesta

Respuesta
1

sub si_A_no_N_y_no_D ( )

if range("C6") = "N" and range("D6") = "A" or  range("D6") = "D" then

msgbox"no me permita ingresar ni la letra "A" ni la letra "D"

end if

end sub

Señor Borys Olmos, ingreso el código en la hoja de excel y no me deja grabar la macro, la función msgbox me sale en rojo y me dice error de compilación, se esperaba fin de la instrucción, le ruego el favor como puedo solucionarlo mil gracias.

Señor Borys, la situación es si en la Celda C6, introduzco la letra N, en la celda siguiente osea la D6, yo no pueda ingresar la letra A o la letra DE, que no me permita ingresar cualquiera de esas dos letras, con el código ya aplicaría yo para otras celdas, muchas gracias por su amable atención

Espero tengas una respuesta para tu inquietud igual ca te dejo mi propuesta

Entras a editor vba en desarrollador - vba - doble clic en hoja1 y pegas esto

Private Sub Worksheet_Change(ByVal Target As Range)
If Range("C6") = "N" And Range("D6") = "A" Or Range("D6") = "D" Then
MsgBox "no me permite ingresar ni la letra A ni la letra D"
Range("D6") = ""
Exit Sub
End If
End Sub

fue un gusto ayudarte

Olvide comentarte el msgbox puedes escribirle el texto que desees siempre y cuando este entre comillas

Señor Borys, usted es el mejor Dios lo bendiga ese así funciono mi pregunta, ahora un ultimo favor Señor Borys, la misma pregunta pero que me funcione en ese mismos de rango de celdas, si quiera unas 6 filas hacia abajo, intente combinar lo que me envío pero no doy con el chiste, ruego me disculpe ya que solo manejo muy básico el excel y de hecho apenas entre a estudiarlo.

Private Sub Worksheet_Change(ByVal Target As Range)
Dim X As Variant
For X = 6 To 12 ' X ASIGNA LA FILA , 6 ES LA FILA INCIAL Y 12 LA FINAL
'si la fila activa y la columna 3 o C es igial a N
'y la fila activa y columna D es igual a A o D
'entonces
'mensaje esto no se permite
'columna D es igual vacio
'detiene la rutina
'continua conla siguente fila
    If Me.Cells(X, 3) = "N" And Me.Cells(X, 4) = "A" Or Me.Cells(X, 4) = "D" Then
        MsgBox "no me permite ingresar ni la letra A ni la letra D"
        Me.Cells(X, 4) = ""
        Exit Sub
        Exit For
    End If
Next X
End Sub
Private Sub Worksheet_Change(ByVal Target As Range)

esto dentro de la hoja lo que hace es que a cada cambio dentro de la hoja el ejecutara esta programación 

Añade tu respuesta

Haz clic para o

Más respuestas relacionadas