Hola y gracias a xiseme por responder a mi consulta.
Bueno entrando en detalles les diré que mi SO es Windows 10 Pro (64 bits).
Por otro lado, esa macro se ejecuta por medio de un botón y el objeto de la misma es copiar parte de una línea de la hoja-1 (posición fija) y pegarla donde corresponda en la hoja-2.
Quiero aclarar de que cuando grabo la macro utilizo sólo el teclado, pero cuando inicio la grabación, obligatoriamente tengo que hacer clic en alguna celda para establecer un punto de inicio, sino el teclado no surte ningún efecto.
Aquí dejo el proceso de grabación que voy haciendo paso a paso:
1- Inicio la grabación de la macro en la página-1.
2- Hago clic en cualquier celda para establecer un punto de inico
3- Ctrl+Inicio (para ir a la celda A1)
4- Flecha abajo 2 veces (para situarme en la celda A3)
5- Shift+Flecha derecha 13 veces (para seleccionar todas las celdas de la fila 3 hasta la columna N)
6- Ctrl+C (para copiar todo el contenido seleccionado)
7- Ctrl+AvPág (para cambiar a la hoja-2)
8- Ctrl+Inicio (para situarme en la celda A1 de la hoja 2)
9- Ctrl+Flecha abajo (para ir a la última fila con datos)
10- Flecha abajo 1 vez (para situarme en la siguiente fila vacía)
11- Shift+Flecha derecha 13 veces (para seleccionar las celdas donde quiero pegar la información copiada)
12- Shift+Ctrl+V (para efectuar un pegado especial)
13- Intro (para aceptar el cuadro de diálogo)
14- Flecha abajo (para dar por finalizado)
15- Termino la grabación y lo guardo en Module2 / Main (que es la que estoy usando con el botón)
Una observación:
He probado a ejecutar la macro desde el menú superior "Herramientas>Macro>Ejecutar Macro" y desde ahí funciona bien o almenos da menos fallos.
Aquí dejo el código completo de la macro:
Código: Seleccionar todo
REM ***** BASIC *****
sub Main
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 = "$D$9"
dispatcher.executeDispatch(document, ".uno:GoToCell", "", 0, args1())
rem ----------------------------------------------------------------------
dim args2(0) as new com.sun.star.beans.PropertyValue
args2(0).Name = "Sel"
args2(0).Value = false
dispatcher.executeDispatch(document, ".uno:GoToStart", "", 0, args2())
rem ----------------------------------------------------------------------
dim args3(1) as new com.sun.star.beans.PropertyValue
args3(0).Name = "By"
args3(0).Value = 1
args3(1).Name = "Sel"
args3(1).Value = false
dispatcher.executeDispatch(document, ".uno:GoDown", "", 0, args3())
rem ----------------------------------------------------------------------
dim args4(1) as new com.sun.star.beans.PropertyValue
args4(0).Name = "By"
args4(0).Value = 1
args4(1).Name = "Sel"
args4(1).Value = false
dispatcher.executeDispatch(document, ".uno:GoDown", "", 0, args4())
rem ----------------------------------------------------------------------
dim args5(0) as new com.sun.star.beans.PropertyValue
args5(0).Name = "By"
args5(0).Value = 1
dispatcher.executeDispatch(document, ".uno:GoRightSel", "", 0, args5())
rem ----------------------------------------------------------------------
dim args6(0) as new com.sun.star.beans.PropertyValue
args6(0).Name = "By"
args6(0).Value = 1
dispatcher.executeDispatch(document, ".uno:GoRightSel", "", 0, args6())
rem ----------------------------------------------------------------------
dim args7(0) as new com.sun.star.beans.PropertyValue
args7(0).Name = "By"
args7(0).Value = 1
dispatcher.executeDispatch(document, ".uno:GoRightSel", "", 0, args7())
rem ----------------------------------------------------------------------
dim args8(0) as new com.sun.star.beans.PropertyValue
args8(0).Name = "By"
args8(0).Value = 1
dispatcher.executeDispatch(document, ".uno:GoRightSel", "", 0, args8())
rem ----------------------------------------------------------------------
dim args9(0) as new com.sun.star.beans.PropertyValue
args9(0).Name = "By"
args9(0).Value = 1
dispatcher.executeDispatch(document, ".uno:GoRightSel", "", 0, args9())
rem ----------------------------------------------------------------------
dim args10(0) as new com.sun.star.beans.PropertyValue
args10(0).Name = "By"
args10(0).Value = 1
dispatcher.executeDispatch(document, ".uno:GoRightSel", "", 0, args10())
rem ----------------------------------------------------------------------
dim args11(0) as new com.sun.star.beans.PropertyValue
args11(0).Name = "By"
args11(0).Value = 1
dispatcher.executeDispatch(document, ".uno:GoRightSel", "", 0, args11())
rem ----------------------------------------------------------------------
dim args12(0) as new com.sun.star.beans.PropertyValue
args12(0).Name = "By"
args12(0).Value = 1
dispatcher.executeDispatch(document, ".uno:GoRightSel", "", 0, args12())
rem ----------------------------------------------------------------------
dim args13(0) as new com.sun.star.beans.PropertyValue
args13(0).Name = "By"
args13(0).Value = 1
dispatcher.executeDispatch(document, ".uno:GoRightSel", "", 0, args13())
rem ----------------------------------------------------------------------
dim args14(0) as new com.sun.star.beans.PropertyValue
args14(0).Name = "By"
args14(0).Value = 1
dispatcher.executeDispatch(document, ".uno:GoRightSel", "", 0, args14())
rem ----------------------------------------------------------------------
dim args15(0) as new com.sun.star.beans.PropertyValue
args15(0).Name = "By"
args15(0).Value = 1
dispatcher.executeDispatch(document, ".uno:GoRightSel", "", 0, args15())
rem ----------------------------------------------------------------------
dim args16(0) as new com.sun.star.beans.PropertyValue
args16(0).Name = "By"
args16(0).Value = 1
dispatcher.executeDispatch(document, ".uno:GoRightSel", "", 0, args16())
rem ----------------------------------------------------------------------
dim args17(0) as new com.sun.star.beans.PropertyValue
args17(0).Name = "By"
args17(0).Value = 1
dispatcher.executeDispatch(document, ".uno:GoRightSel", "", 0, args17())
rem ----------------------------------------------------------------------
dispatcher.executeDispatch(document, ".uno:Copy", "", 0, Array())
rem ----------------------------------------------------------------------
dispatcher.executeDispatch(document, ".uno:JumpToNextTable", "", 0, Array())
rem ----------------------------------------------------------------------
dim args20(0) as new com.sun.star.beans.PropertyValue
args20(0).Name = "Sel"
args20(0).Value = false
dispatcher.executeDispatch(document, ".uno:GoToStart", "", 0, args20())
rem ----------------------------------------------------------------------
dim args21(1) as new com.sun.star.beans.PropertyValue
args21(0).Name = "By"
args21(0).Value = 1
args21(1).Name = "Sel"
args21(1).Value = false
dispatcher.executeDispatch(document, ".uno:GoDownToEndOfData", "", 0, args21())
rem ----------------------------------------------------------------------
dim args22(1) as new com.sun.star.beans.PropertyValue
args22(0).Name = "By"
args22(0).Value = 1
args22(1).Name = "Sel"
args22(1).Value = false
dispatcher.executeDispatch(document, ".uno:GoDown", "", 0, args22())
rem ----------------------------------------------------------------------
dim args23(0) as new com.sun.star.beans.PropertyValue
args23(0).Name = "By"
args23(0).Value = 1
dispatcher.executeDispatch(document, ".uno:GoRightSel", "", 0, args23())
rem ----------------------------------------------------------------------
dim args24(0) as new com.sun.star.beans.PropertyValue
args24(0).Name = "By"
args24(0).Value = 1
dispatcher.executeDispatch(document, ".uno:GoRightSel", "", 0, args24())
rem ----------------------------------------------------------------------
dim args25(0) as new com.sun.star.beans.PropertyValue
args25(0).Name = "By"
args25(0).Value = 1
dispatcher.executeDispatch(document, ".uno:GoRightSel", "", 0, args25())
rem ----------------------------------------------------------------------
dim args26(0) as new com.sun.star.beans.PropertyValue
args26(0).Name = "By"
args26(0).Value = 1
dispatcher.executeDispatch(document, ".uno:GoRightSel", "", 0, args26())
rem ----------------------------------------------------------------------
dim args27(0) as new com.sun.star.beans.PropertyValue
args27(0).Name = "By"
args27(0).Value = 1
dispatcher.executeDispatch(document, ".uno:GoRightSel", "", 0, args27())
rem ----------------------------------------------------------------------
dim args28(0) as new com.sun.star.beans.PropertyValue
args28(0).Name = "By"
args28(0).Value = 1
dispatcher.executeDispatch(document, ".uno:GoRightSel", "", 0, args28())
rem ----------------------------------------------------------------------
dim args29(0) as new com.sun.star.beans.PropertyValue
args29(0).Name = "By"
args29(0).Value = 1
dispatcher.executeDispatch(document, ".uno:GoRightSel", "", 0, args29())
rem ----------------------------------------------------------------------
dim args30(0) as new com.sun.star.beans.PropertyValue
args30(0).Name = "By"
args30(0).Value = 1
dispatcher.executeDispatch(document, ".uno:GoRightSel", "", 0, args30())
rem ----------------------------------------------------------------------
dim args31(0) as new com.sun.star.beans.PropertyValue
args31(0).Name = "By"
args31(0).Value = 1
dispatcher.executeDispatch(document, ".uno:GoRightSel", "", 0, args31())
rem ----------------------------------------------------------------------
dim args32(0) as new com.sun.star.beans.PropertyValue
args32(0).Name = "By"
args32(0).Value = 1
dispatcher.executeDispatch(document, ".uno:GoRightSel", "", 0, args32())
rem ----------------------------------------------------------------------
dim args33(0) as new com.sun.star.beans.PropertyValue
args33(0).Name = "By"
args33(0).Value = 1
dispatcher.executeDispatch(document, ".uno:GoRightSel", "", 0, args33())
rem ----------------------------------------------------------------------
dim args34(0) as new com.sun.star.beans.PropertyValue
args34(0).Name = "By"
args34(0).Value = 1
dispatcher.executeDispatch(document, ".uno:GoRightSel", "", 0, args34())
rem ----------------------------------------------------------------------
dim args35(0) as new com.sun.star.beans.PropertyValue
args35(0).Name = "By"
args35(0).Value = 1
dispatcher.executeDispatch(document, ".uno:GoRightSel", "", 0, args35())
rem ----------------------------------------------------------------------
dim args36(0) as new com.sun.star.beans.PropertyValue
args36(0).Name = "By"
args36(0).Value = 1
dispatcher.executeDispatch(document, ".uno:GoRightSel", "", 0, args36())
rem ----------------------------------------------------------------------
dim args37(0) as new com.sun.star.beans.PropertyValue
args37(0).Name = "By"
args37(0).Value = 1
dispatcher.executeDispatch(document, ".uno:GoLeftSel", "", 0, args37())
rem ----------------------------------------------------------------------
dim args38(5) as new com.sun.star.beans.PropertyValue
args38(0).Name = "Flags"
args38(0).Value = "SVD"
args38(1).Name = "FormulaCommand"
args38(1).Value = 0
args38(2).Name = "SkipEmptyCells"
args38(2).Value = false
args38(3).Name = "Transpose"
args38(3).Value = false
args38(4).Name = "AsLink"
args38(4).Value = false
args38(5).Name = "MoveMode"
args38(5).Value = 4
dispatcher.executeDispatch(document, ".uno:InsertContents", "", 0, args38())
rem ----------------------------------------------------------------------
dim args39(1) as new com.sun.star.beans.PropertyValue
args39(0).Name = "By"
args39(0).Value = 1
args39(1).Name = "Sel"
args39(1).Value = false
dispatcher.executeDispatch(document, ".uno:GoDown", "", 0, args39())
end sub
Un saludo a todos.