Saltar al contenido

Saltos de columnas en libro de excel


Recommended Posts

publicado

Buenas tardes:

Mi consulta es la siguiente: ¿se pueden insertar saltos de columna en excel?

Tengo un libro de excel en el que en algunas columnas tengo fórmulas y en otras no; lo que quiero es que salte las columnas que tienen fórmulas y pase a la siguiente columna que no tiene para introducir el dato; es decir: tengo fórmulas en las celdas C5, D5 y E5  y lo que quiero es que, una vez este en la columna B5 (que no tiene ninguna formula) pase directamente a la columna F5 (que tampoco tiene fórmula saltándose las celdas C5, D5 y E5 que sí tienen fórmulas. No se si me he explicado bien.... 

Es posible hacer esto y, en caso afirmativo, como se haría?

Gracias.

publicado

Si te refieres a la tecla del tabulador, donde al darle clic solo brinque a celdas que no tengan fórmula, la respuesta es sí pero tienes que trabajar en algunas condiciones.

La primera, la  más fácil pero tal vez laboriosa dependiendo del tamaño del rango de los datos. Se trata de proteger y desproteger celdas, y cuando actives la protección sólo le permitas seleccionar celdas desprotegidas.

La segunda, sencilla o tan compleja de acuerdo a tu nivel de VBA sería que pruebes como opción Worksheet_SelectionChange para que al cambiar de selección verifique si hay una fórmula en el destino.

If Target.HasFormula Then ' Si la celda seleccionada tiene una fórmula...

seleccione la celda siguiente.

Aquí debes considerar por ejemplo no tener celdas combinadas o algunas condiciones que afecten a las celdas, eso también lo debes incluir en tu código.

Haz pruebas, si se te dificulta algo compártelo aquí, con gusto (si estoy conectado) intentaré ayudarte, sino también ves que hay excepcionales Maestros miembros en el foro que seguramente podrían dar ayuda más específica.

Saludines.

publicado
hace 12 horas, Israel Cassales dijo:

Si te refieres a la tecla del tabulador, donde al darle clic solo brinque a celdas que no tengan fórmula, la respuesta es sí pero tienes que trabajar en algunas condiciones.

La primera, la  más fácil pero tal vez laboriosa dependiendo del tamaño del rango de los datos. Se trata de proteger y desproteger celdas, y cuando actives la protección sólo le permitas seleccionar celdas desprotegidas.

La segunda, sencilla o tan compleja de acuerdo a tu nivel de VBA sería que pruebes como opción Worksheet_SelectionChange para que al cambiar de selección verifique si hay una fórmula en el destino.

If Target.HasFormula Then ' Si la celda seleccionada tiene una fórmula...

seleccione la celda siguiente.

Aquí debes considerar por ejemplo no tener celdas combinadas o algunas condiciones que afecten a las celdas, eso también lo debes incluir en tu código.

Haz pruebas, si se te dificulta algo compártelo aquí, con gusto (si estoy conectado) intentaré ayudarte, sino también ves que hay excepcionales Maestros miembros en el foro que seguramente podrían dar ayuda más específica.

Saludines.

Buenos días

En primer lugar agradecerte tu respuesta

Te comento; con la primera opción que me das (formato de celda bloqueada y oculta) cuando la hoja está protegida no me funciona el tabulador (no hay desplazamiento); solo puedo pasar de una celda a otra con el cursor pero tampoco me va saltando las celdas que tienen fórmulas, va una en una.

En cuanto a la segunda opción: mi nivel visual basic es muy elemental y no sé como hacerlo.

No se si me podrás echar una mano 

Gracias, de antemano

publicado
hace 5 horas, SUSANA GARCIA-ABAD FERNANDEZ dijo:

Te comento; con la primera opción que me das (formato de celda bloqueada y oculta) cuando la hoja está protegida no me funciona el tabulador (no hay desplazamiento)

Hola. Si usas la opción de proteger y desproteger el comportamiento que describes no es posible a menos que tengas todas las celdas bloqueadas.

S6Og0.gif

No hay manera de que puedas seleccionarlas porque para eso es esa opción:

Captura.jpg

No pude evitar pensar, cambiar de celda en celda usando el cursor no es funcional; además con la opción fácil propuesta tampoco deberías poder seleccionar una celda protegida. Que en este caso sería las celdas de una columna.

hace 19 horas, SUSANA GARCIA-ABAD FERNANDEZ dijo:

Es posible hacer esto y, en caso afirmativo, como se haría?

En base a lo explicado con eso debería ser suficiente.

publicado

Por otro lado:

hace 5 horas, SUSANA GARCIA-ABAD FERNANDEZ dijo:

En cuanto a la segunda opción: mi nivel visual basic es muy elemental y no sé como hacerlo.

¡Claro! una la manera sencilla de hacer esto en VBA es replicar el protegido de celdas en el rango que desees, que busque las que NO tienen fórmula y que las desproteja.

Private Sub Worksheet_SelectionChange(ByVal Target As Range)
    Dim rng As Range
    Dim cell As Range

    Set rng = Me.Range("A1:F10")

    For Each cell In rng
        If cell.HasFormula = False Then
            cell.Locked = False
        Else
            cell.Locked = True
        End If
    Next cell

    Me.Protect UserInterfaceOnly:=True
    Me.EnableSelection = xlUnlockedCells
End Sub

Nota importante: En el rango tendrías que modificar por el tuyo y pegar el código en el módulo de la hoja en la que quieras hacer lo que explicaste. obteniendo el mismo resultado.

S6Og0.gif

publicado

Para finalizar mi participación en esta consulta, al no tener un libro compartido por ti, te dejo el que hice para pruebas.

Ambas soluciones cumplen con lo explicado por ti de una manera sencilla, es cuestión de que intentes modificarlas y compartir en el foro tus avances o contratiempos. Seguro encontrarás ayuda porque aquí en el foro hay grandes Maestros.

Recuerda:

hace 18 horas, Israel Cassales dijo:

Aquí debes considerar por ejemplo no tener celdas combinadas o algunas condiciones que afecten a las celdas, eso también lo debes incluir en tu código.

De ocurrir lo anterior y en caso de que necesitas un VBA con más detalles de ejecución podrías abrir un tema similar pero en la sección de Macros.

Saludines

 

AYUDAEXCEL.xlsb

publicado
En 21/10/2023 at 16:32 , Israel Cassales dijo:

Hola. Si usas la opción de proteger y desproteger el comportamiento que describes no es posible a menos que tengas todas las celdas bloqueadas.

S6Og0.gif

No hay manera de que puedas seleccionarlas porque para eso es esa opción:

Captura.jpg

No pude evitar pensar, cambiar de celda en celda usando el cursor no es funcional; además con la opción fácil propuesta tampoco deberías poder seleccionar una celda protegida. Que en este caso sería las celdas de una columna.

En base a lo explicado con eso debería ser suficiente.

Buenas tardes

Tienes toda la razón... No me funcionaba porque tenía todas las celdas bloqueadas.... 😳

Por eso no entendía por qué me ocurría esto.....

Gracias!!

publicado
En 21/10/2023 at 16:42 , Israel Cassales dijo:

Para finalizar mi participación en esta consulta, al no tener un libro compartido por ti, te dejo el que hice para pruebas.

Ambas soluciones cumplen con lo explicado por ti de una manera sencilla, es cuestión de que intentes modificarlas y compartir en el foro tus avances o contratiempos. Seguro encontrarás ayuda porque aquí en el foro hay grandes Maestros.

Recuerda:

De ocurrir lo anterior y en caso de que necesitas un VBA con más detalles de ejecución podrías abrir un tema similar pero en la sección de Macros.

Saludines

 

AYUDAEXCEL.xlsb 14.34 kB · 1 descarga

Gracias por tu ayuda

Probaré con el código VBA que mes ha facilitado y haré pruebas.

Si me surge alguna dificultad, hare la consulta en la sección de macros.

Muchas gracias por tu ayuda y tiempo!!

Saludos

Archivado

Este tema está ahora archivado y está cerrado a más respuestas.

×
×
  • Crear nuevo...

Información importante

Echa un vistazo a nuestra política de cookies para ayudarte a tener una mejor experiencia de navegación. Puedes ajustar aquí la configuración. Pulsa el botón Aceptar, si estás de acuerdo.