Sprawa wydała mi się ciekawa i być może interesująca także innych użytkowników programu Calc, więc napisałem odpowiednie makro. Właściwie to dwa makra: jedno zamieniające wskazany wiersz arkusza z tym wierszem, który leży powyżej i drugie - zamieniające wskazany wiersz z wierszem leżącym poniżej. Makra nazwałem odpowiednio AltShiftUp i AltShiftDown. Nazwy nawiązują do nieobsadzonych w Calcu skrótów klawiaturowych, które przypisane do odpowiedniego makra będą realizowały jego funkcje (użytkownik może oczywiście utworzyć własne skróty klawiaturowe).
Same makra zapisałem w bibliotece o nazwie UpAndDown i przekształciłem ją do postaci pliku rozszerzeń pakietu LibreOffice i Apache OpenOfficce. Plik rozszerzenia nosi nazwę UpAndDown.oxt. Należy go pobrać i zainstalować w swoim systemie.
Aby to wykonać należy skorzystać z polecenia "Narzędzia -> Menedżer rozszerzeń..." i przyciskiem "Dodaj" rozpocząć proces dodawania. Wynikiem będzie umieszczenie tej biblioteki w kontenerze "Moje Makra". Po tej operacji, aby zmiany zostały uwzględnione, oprogramowanie poprosi o zrestartowanie pakietu.
Drugim krokiem będzie przypisanie skrótów klawiaturowych do poszczególnych makr. To zrealizować należy poleceniem "Narzędzia -> Dostosuj..."
- Po otwarciu okna dialogowego należy przejść do zakładki "Klawiatura".
- W obszarze "Skróty klawiaturowe" zaznaczyć wybrany skrót.
- W obszarze "Kategoria" przewinąć drzewo kategorii do "Moje makra" i rozwinąć ją. Odnaleźć bibliotekę "UpAndDown" i także ją rozwinąć. Zaznaczyć pozycję "Module1".
- Po tym działaniu w obszarze "Funkcja" pojawią się nazwy dwóch makr. Należy kliknąć to makro, które ma zostać przypisane do wybranego skrótu klawiaturowego.
- Dopiero teraz aktywnym stanie się przycisk "Modyfikuj" i należy z niego skorzystać.
- Powtórzyć takie przypisanie dla drugiego makra.
Makra działają na zasadzie utworzenia nowego pustego wiersza (odpowiednio powyżej albo poniżej), do którego zostanie przeniesiona zawartość wskazanego wiersza. Wiersz dotychczas zajmowany przez dane zostaje usunięty. Komórka aktywna pozostaje w przeniesionym wierszu, więc kolejne użycie skrótu klawiaturowego dokona kolejnego przeniesienia.
Aby wykonać zamianę wierszy należy wskazać komórkę w wierszu, który ma zmienić położenie, komórka nie może być pusta . Zamieniane są całe wiersze. Zamiana wierszy nie nastąpi wtedy, gdy nie będzie możliwości wstawienia pustego wiersza.