Saltar al contenido

Mover filas con el teclado en Calc

Luego de de nuestra extensa recopilación de datos hemos podido solucionar este asunto que suelen tener muchos los usuarios. Te dejamos la respuesta y deseamos serte de gran ayuda.

Solución:

Para mover una fila en Open Office Calc:

  1. Seleccione la celda en la columna A de la fila que se va a mover.
  2. Presione Mayús-Espacio para resaltar toda la fila.
  3. Mantenga pulsado el ALT key.
  4. Arrastre la fila (aparece una línea negra gruesa) hacia arriba o hacia abajo hasta la ubicación deseada.
  5. Si su trabajo parece correcto, haga clic en el icono Guardar en la barra de herramientas.
  6. De lo contrario, ALTZ deshacer.

Si desea sobrescribir y destruir la ubicación de destino, no mantenga presionada la tecla ALT key abajo. Simplemente haga clic en la fila resaltada y arrástrela a su nueva ubicación. Los datos en la ubicación de destino se destruirán y se reemplazarán con los datos de la fila que se está moviendo.

No estoy seguro de si hay una manera de “mover” filas usando el teclado, pero usar c & py insertar / eliminar filas usando el teclado debería ofrecer la misma funcionalidad:

  • navegue a la primera celda (más a la izquierda) de la fila para mover;
  • pegar CAMBIO+ESPACIO para seleccionar toda la fila;
  • pegar CONTROL+C copiar la fila;
  • pegar CONTROL+- para eliminar la fila actual;
  • navegar a la fila de destino;
  • pegar ALT+I para abrir el Insert menú;
  • pegar R para insertar una nueva fila (la fila actual se desplazará hacia abajo);
  • pegar CONTROL+V para pegar la fila en su nuevo lugar.

Dado que las operaciones de cortar y pegar a veces son bastante molestas, puede crear una macro para cortar celdas y otro para pegarlas, moviendo el contenido existente hacia abajo.

Aquí hay un código muy simple para “mover” las celdas seleccionadas:

Option Explicit

Sub CopyAndCut
    ' ---------------------------------------------------------
    ' define variables
    Dim document   as object
    Dim dispatcher as Object
    Dim oSelections As Object
    ' ---------------------------------------------------------
    ' get access to the document and selections (if any)
    document    = ThisComponent.CurrentController.Frame
    oSelections = ThisComponent.getCurrentSelection()
    If IsNull(oSelections) Then Exit Sub        
    ' ---------------------------------------------------------
    dispatcher = createUnoService("com.sun.star.frame.DispatchHelper")
    dispatcher.executeDispatch(document, ".uno:Copy", "", 0, Array())
    dispatcher.executeDispatch(document, ".uno:Cut", "", 0, Array())
    ' -------------------------------------------------------------
    ' Check the width of the selection - if 1024 columns, we assume
    ' the complete row was selected and should get deleted
    If 1024 = oSelections.Columns.getCount() Then
        dispatcher.executeDispatch(document, ".uno:DeleteRows", "", 0, Array())
    End If
End Sub

Sub InsertWithMoveDown
    ' ---------------------------------------------------------
    ' define variables
    Dim document   as object
    Dim dispatcher as object
    ' ---------------------------------------------------------
    ' get access to the document
    document   = ThisComponent.CurrentController.Frame
    dispatcher = createUnoService("com.sun.star.frame.DispatchHelper")
    ' ---------------------------------------------------------
    ' Paste contents with "Move Down" option
    Dim args1(5) as New com.sun.star.beans.PropertyValue
    args1(0).Name = "Flags"
    args1(0).Value = "A"
    args1(1).Name = "FormulaCommand"
    args1(1).Value = 0
    args1(2).Name = "SkipEmptyCells"
    args1(2).Value = false
    args1(3).Name = "Transpose"
    args1(3).Value = false
    args1(4).Name = "AsLink"
    args1(4).Value = false
    args1(5).Name = "MoveMode"
    args1(5).Value = 0
    dispatcher.executeDispatch(document, ".uno:InsertContents", "", 0, args1())
End Sub

Sub InsertWithMoveRight
    ' ---------------------------------------------------------
    ' define variables
    Dim document   as object
    Dim dispatcher as object
    ' ---------------------------------------------------------
    ' get access to the document
    document   = ThisComponent.CurrentController.Frame
    dispatcher = createUnoService("com.sun.star.frame.DispatchHelper")
    ' ---------------------------------------------------------
    ' Paste contents with "Move Right" option
    Dim args1(5) as New com.sun.star.beans.PropertyValue
    args1(0).Name = "Flags"
    args1(0).Value = "A"
    args1(1).Name = "FormulaCommand"
    args1(1).Value = 0
    args1(2).Name = "SkipEmptyCells"
    args1(2).Value = false
    args1(3).Name = "Transpose"
    args1(3).Value = false
    args1(4).Name = "AsLink"
    args1(4).Value = false
    args1(5).Name = "MoveMode"
    args1(5).Value = 1
    dispatcher.executeDispatch(document, ".uno:InsertContents", "", 0, args1())
End Sub

Después de copiar el código a su biblioteca de usuario, simplemente asigne CopyAndCut a, por ejemplo, Alt+C, InsertWithMoveDown a, por ejemplo, Alt+V, y InsertWithMoveRight a, por ejemplo, Alt+R (todos estos atajos están vacíos por defecto).

Ahora, puede seleccionar celdas o filas usando el mouse o el teclado, cortarlas usando Alt+C, muévase a la celda de destino y péguelas usando Alt+V o Alt+R.

Nos puedes añadir valor a nuestro contenido cooperando tu veteranía en las anotaciones.

¡Haz clic para puntuar esta entrada!
(Votos: 0 Promedio: 0)



Utiliza Nuestro Buscador

Deja una respuesta

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *