Seleccionar columna en función de una anterior

Recurro a ti a raíz de una contestación anterior en la cual te pedía que al seleccionar un rango en la columna A pasara automáticamente a la columna B, ahora necesito algo más "complejo/concreto" para mi claro. En la columna "I" no quiero que se seleccione nunca, pero si esta la celda activa en la columna "H" y le da a la flecha de la derecha quiero que vaya a la columna "J", pero si estoy en la columna "J" y le da a la flecha de la izquierda quiero que salte la columna "I" y se posicione en la columna "H", ¿es posible?.

1 Respuesta

Respuesta
1

H o l a:

¿Lo qué quieres es que no pueda seleccionar las celdas de la columna "I"?

Y si estoy en la columna "A" y con el mouse selecciono una celda de la columna "I", ¿qué debería hacer?

Muchas gracias por contestar, pues que se fuera a la columna "H"

H o l a:

Te presento un par de opciones, haber cuál es la que necesitas.

La primera, y la más sencilla es que ocultes la columna "I"


Otra opción es proteger la hoja, realiza los siguientes pasos:

  • Selecciona todas las celdas
  • Entra al menú Inicio, Formato, Formato de celdas, Proteger, desmarca la casilla Bloqueada y presiona Aceptar:

  • Ahora, selecciona la columna "I", entra al menú Inicio, Formato, Formato de celdas, Proteger, marca la casilla de Bloqueada y presiona Aceptar.
  • Por último, entra al menú Revisar, Proteger hoja, desmarca la casilla "Seleccionar celdas bloqueadas", si lo deseas escribe una contraseña, repite la contraseña y presiona Aceptar.
  • Nota: Cuando estás protegiendo la hoja, puedes marcar las demás casillas:


Gracias, las opciones que me das las conocía, quería hacer lo que te comentaba por VBA sin recurrir a proteger la hoja o ocultar la columna, a lo mejor no es posible, gracias por las molestias. 

H o l a:

Pon la siguiente macro en los eventos de tu hoja

Private Sub Worksheet_SelectionChange(ByVal Target As Range)
'Por.Dante Amor
    If Not Intersect(Target, Columns("I")) Is Nothing Then
        If Target.Count > 1 Then
            [H1].Select
            Exit Sub
        End If
        Target.Offset(0, -1).Select
    End If
End Sub

Sigue las Instrucciones para poner la macro en los eventos de worksheet

  1. Abre tu libro de excel
  2. Para abrir Vba-macros y poder pegar la macro, Presiona Alt + F11
  3. Del lado izquierdo dice: VBAProject, abajo dale doble click a worksheet(tu hoja)
  4. Del lado derecho copia la macro

Añade tu respuesta

Haz clic para o

Más respuestas relacionadas