Jump to content
Marco Corrales

Worksheet_Change(ByVal Target As Range)

Recommended Posts

Buenos días, gusto saludarles.

Tengo un problemita con la siguiente macro:

Private Sub Worksheet_Change(ByVal Target As Range)

On Error Resume Next
'If Target.Address = "$B$160:$B$219" Then
    If Target.Value = "Hipoteca" Then
        mostrar_filas_hipoteca
        ocultar_filas_vacias
    ElseIf Target.Value = "Valores" Then
        mostrar_filas_valores
        ocultar_filas_vacias
    ElseIf Target.Value = "Prenda" Then
        mostrar_filas_prenda
        ocultar_filas_vacias
    ElseIf Target.Value <> "Hipoteca" Or Target.Value <> "Valores" Or Target.Value <> "Prenda" Then
        ocultar_filas_vacias
    End If

    If Hoja3.[R7].Value <> "" Then
        SiguienteFilaDisponible
    End If
'End If

End Sub

Otras de las macro que llama son:

Public Sub mostrar_filas_hipoteca()
    For Each r In Range("$B$160:$B$219")
       If r.Value = "Hipoteca" Then
          r.EntireRow.Hidden = False
       End If
    Next
End Sub

La macro está directamente en la Hoja1 y las otras que llama, están en un módulo.

El problema que tengo es que necesito que solo se active cuando está en el rango "B160:B219", pero eso no sucede así,  ya que la macro corre en cualquier casilla en que le dé ENTER, de toda la hoja. Lo intenté con un IF, que aparece ahí comentado, pero tampoco funciona.

Agradezco la ayuda que me puedan brindar.

Saludes,

Share this post


Link to post
Share on other sites

Hola,

Cambia tu código así:

Private Sub Worksheet_Change(ByVal Target As Range)

If Not Intersect(Range("$B$160:$B$219"), Target) Is Nothing Then
    If Target.Value = "Hipoteca" Then
        mostrar_filas_hipoteca
        ocultar_filas_vacias
    ElseIf Target.Value = "Valores" Then
        mostrar_filas_valores
        ocultar_filas_vacias
    ElseIf Target.Value = "Prenda" Then
        mostrar_filas_prenda
        ocultar_filas_vacias
    ElseIf Target.Value <> "Hipoteca" Or Target.Value <> "Valores" Or Target.Value <> "Prenda" Then
        ocultar_filas_vacias
    End If

    If Hoja3.[R7].Value <> "" Then
        SiguienteFilaDisponible
    End If
End If

End Sub

Y no es recomendable usar en este caso 

On Error Resume Next

 

Saludos

Share this post


Link to post
Share on other sites

@Antoni,

Te enviaba un mensaje privado, pero me dice que no puedes recibir mensajes...

Bueno me atengo a las consecuencias de lo que te digo por aquí:

Hace 6 minutos , Antoni dijo:

Vaya Leopoldo, con lo bien que lo habías hecho aquí:

Cita

Investiga sobre:  Intersect y Target en la Web. Hay miles de Links...

 

Yo enviaba al que pregunta a investigar y que de ahí aprenda, pero me dicen (en un mensaje privado) que no los debo de enviar a investigar en la WEB, que todo debe ser por aquí, y pues entonces le resolvi y ya.

A veces no se que hacer, ya no contestar, contestarles todo, ... irme a ver una película eterna.... hacer una película?... ver Fores Gump por 10001 veces más...

Saludos.

 

Share this post


Link to post
Share on other sites

Va perfecto Leopoldo, muchísimas gracias.

Antoni, cómo vas? Estoy de acuerdo con vos, siempre es mejor investigar para aprender mejor, en este caso ya había investigado sobre el Intersect, pero me comprometía otro funcionamiento, seguramente no lo había aplicado bien, por eso ya en última instancia recurro a ustedes y trato de ser muy especifico en mis consultas.

Les agradezco muchísimo su tiempo y conocimiento.

Buen día a todos,

 

Admin: Favor cerrar el tema.

Share this post


Link to post
Share on other sites
Guest
This topic is now closed to further replies.

×
×
  • Create New...

Important Information

Privacy Policy

Ayuda Excel - Madrid, Madrid, ES - Valorada por 5112 personas - Aprender Excel - Total: 4.7 / 5