Macro para copiar solo rango con datos

Buenas tardes.

He realizado una macro en Calc para copiar datos. Funciona.
El problema que tengo es que solo quiero copiar las filas que contienen datos.
Es una hoja que uso para pegar posteriormente estos a Base.
Unas veces contiene 10 filas, otras 5, otras 15, etc. No hay un número fijo.
Se rellenan desde la fila 2 hasta donde lleguen los datos.
Con apretar el botón de copiar tengo bastante.
La parte de Base, es una vez abierta la base, marcar la tabla correspondiente y pegar.
La macro es la que sigue y copia todo el rango.
¿Hay alguna forma para que copie las filas con datos y omita las vacias?
Las filas con datos están todas completas de A a J. La fila 1 es la cabecera de rango y todas sus celdas son tipo “texto” y siempre tengo que copiarla por el rango comienza en A1.

idmov fecha_op fecha_valor cuenta concepto detalle entradas salidas saldo compb.

Nº Fecha Fecha Texto Nº Texto Decimal Decimal Decimal Si/No

=============================

sub MacroCopiar
rem ----------------------------------------------------------------------
rem define variables
dim document as object
dim dispatcher as object
rem ----------------------------------------------------------------------
rem get access to the document
document = ThisComponent.CurrentController.Frame
dispatcher = createUnoService(“com.sun.star.frame.DispatchHelper”)

rem ----------------------------------------------------------------------
dim args1(0) as new com.sun.star.beans.PropertyValue
args1(0).Name = “ToPoint”
args1(0).Value = “$A$1:$J$21”

dispatcher.executeDispatch(document, “.uno:GoToCell”, “”, 0, args1())

rem ----------------------------------------------------------------------
dispatcher.executeDispatch(document, “.uno:Copy”, “”, 0, Array())

end sub

==================================

Gracias y un saludo.

Emlliano A. González Salgado.


LibreOffice 25.8.3.1
Linux Fedora 43 Kde Plasma

Si quieres seleccionar la “región actual” y copiar, solo tienes que presioanr CTRL+A, CTRL+C.

Buenas tardes.
Gracias Mauricio.
No me han funcionado ninguna de las dos.
He estado mirando en los menús no he encontrado nada.
Al final he creado una macro. Al ejecutarla, con los datos que quedan en el portapapeles, pego en la tabla de Base.
Estuve probando con autofiltro, celdas vacias, celdas no vacias, celdas visibles, etc.
En la primera ocasión, a veces, las menos, pegaba sólo los datos visbles, la gran mayoria todos.
Asi que fui a lo fácil, grabé una macro de copiar y pegar en otra hoja.
Con ello me aseguraba que funionaba.
A continuación pongo la macro:

Sub CopyRange()

dim document   as object
dim dispatcher as object
document   = ThisComponent.CurrentController.Frame
dispatcher = createUnoService("com.sun.star.frame.DispatchHelper")
dim args1(0) as new com.sun.star.beans.PropertyValue
args1(0).Name = "ToPoint"
args1(0).Value = "$A$1"
dispatcher.executeDispatch(document, ".uno:GoToCell", "", 0, args1())
dim args2(0) as new com.sun.star.beans.PropertyValue
args2(0).Name = "ToPoint"
args2(0).Value = "$A$1:$J$21"
dispatcher.executeDispatch(document, ".uno:GoToCell", "", 0, args2())
dispatcher.executeDispatch(document, ".uno:Copy", "", 0, Array())
dim args4(0) as new com.sun.star.beans.PropertyValue
args4(0).Name = "Nr"
args4(0).Value = 5
dispatcher.executeDispatch(document, ".uno:JumpToTable", "", 0, args4())
dispatcher.executeDispatch(document, ".uno:Paste", "", 0, Array())
dim args6(0) as new com.sun.star.beans.PropertyValue
args6(0).Name = "ToPoint"
args6(0).Value = "$A$1"
dispatcher.executeDispatch(document, ".uno:GoToCell", "", 0, args6())
dim args7(0) as new com.sun.star.beans.PropertyValue
args7(0).Name = "Nr"
args7(0).Value = 1
dispatcher.executeDispatch(document, ".uno:JumpToTable", "", 0, args7())
End Sub