Permitir dato en celda si otra tiene dato

Dan mira necesito nuevamente tu ayuda

Tengo este código actualizado por ti el cual pongo datos en la col. J

Application.ScreenUpdating = False
ActiveSheet.Unprotect ''AQUI CONTRASEÑA
'Act.Por.Dante Amor
If Not Application.Intersect(Target, Range("j:j")) Is Nothing Then
ActiveSheet.Unprotect ''AQUI CONTRASEÑA
If Range("j1") = "" Then
MsgBox " Se te olvida la Hora base de: " & Range("j2"), vbOKOnly + vbExclamation, "ALTO"
Application.EnableEvents = False
Target.Select
Target = ""
Application.EnableEvents = True
Else
Range("BR" & Target.Row) = Date
ActiveSheet.Unprotect ''AQUI CONTRASEÑA
Range("BQ" & Target.Row) = Range("j1")
End If
End If

Pero realizando las actividades me di cuenta que necesito una condición más

Mira

Tengo la col J donde pongo datos

Y este me dice que si en J1 no hay dato no puedo continuar lo que es correcto

Pero tengo otra col la cual es la E

Entonces es como una resta

En E tengo cantidades y en J cantidades pero se restan, el problema surgió cuando capturando en J (teniendo datos en J1) este no me realiza la fórmula de resta ya que en E no he puesto cantidad, entonces

No se si exista forma de que si en E no hay cantidades no me deje poner datos en J

Ejemplo:

E7 = 0, en J7 "Se te olvida cantidad en  " & Range:e7"

E8 = (cantidad) en J8 "AQUI EM PERMITA PONER DATO"

Y ASÍ sucesivamente para toda la columna

1 Respuesta

Respuesta
1

Te regreso la macro actualizada

Private Sub Worksheet_Change(ByVal Target As Range)
    Application.ScreenUpdating = False
    ActiveSheet.Unprotect ''AQUI CONTRASEÑA
    'Act.Por.Dante Amor
    If Not Application.Intersect(Target, Range("j:j")) Is Nothing Then
        ActiveSheet.Unprotect ''AQUI CONTRASEÑA
        If Range("J1") = "" Then
            MsgBox " Se te olvida la Hora base de: " & Range("j2"), vbOKOnly + vbExclamation, "ALTO"
            Application.EnableEvents = False
            Target.Select
            Target = ""
            Application.EnableEvents = True
        Else
            If Cells(Target.Row, "E") = "" Then
                MsgBox " Se te olvida cantidad en : " & Cells(Target.Row, "E").Address, vbExclamation, "ALTO"
                Application.EnableEvents = False
                Target.Select
                Target = ""
                Application.EnableEvents = True
                Exit Sub
            End If
            Range("BR" & Target.Row) = Date
            ActiveSheet.Unprotect ''AQUI CONTRASEÑA
            Range("BQ" & Target.Row) = Range("j1")
        End If
    End If
End Sub

sal u dos

DAN y si para adecuarlo, E es la col que tienen que poner dato pero en el MSGBOX en vez que salga la CELDA

MsgBox " Se te olvida cantidad en : " & Cells(Target.Row, "E").Address, vbExclamation, "ALTO"

salga el dato que se encuentre en la col B

MsgBox " Se te olvida cantidad en : " & Cells(Target.Row, "B").Address, vbExclamation, "ALTO"

supongamos que en J6 queremos poner un dato pero no hay dato en E6 entonces me salga el msgbox de

"SE TE OLVIDA LA CANTIDAD EN : BOLITAS DE QUESO"

Es correcto así como lo pusiste.

PERO no me sale..

Me sale B$12$ cuando me gustaría que salga el dato con contiene B

Ah, cambia

Address

Por

value

Añade tu respuesta

Haz clic para o

Más respuestas relacionadas