Копировать/вставить формулу в Libreoffice без изменения ячеек

Копировать/вставить формулу в Libreoffice без изменения ячеек

У меня есть формула вLibreoffice Калькуляторкоторые я хотел бы переместить (Вырезать и Вставить) в другую ячейку. Я хотел бы, чтобы формула осталась точно такой же, без изменения ячеек в ней при перемещении. Я не могу использовать статическую ссылку (используя$знак), так как в другом случае мне нужно динамическое ссылочное поведение.

Единственное решение, которое я нашел до сих пор, это ручное копирование и вставкатекстформулы, а не самой ячейки. Но это работает только для одной ячейки, а не для нескольких.

решение1

Когда я делал CUT & paste в Excel в прошлом, он переносился как есть. Копирование/вставка изменит ссылки на ячейки. Я не использовал LibreOffice.

решение2

Обманывать:

  • Вырезать (ctrl + X)
  • Отменить (ctrl + Z)
  • Вставить (ctrl + V)

Поскольку «вырезать-вставить» работает, а «копировать-вставить» — нет, вы можете вырезать-вставить и использовать функцию отмены, чтобы не стирать старые значения.

решение3

Проще, проще: я проверил ответ Даниэля Мёллера, но он не сработал (по крайней мере, в MacOS), хотя и открыл мне путь к поиску решения: Резатьивставить, изатем вставьте также и оригинал. Это исправило ситуацию, теперь нет необходимости в макросах или сложных вещах.

решение4

Меня это тоже очень раздражало, поэтому я нашел обходное решение:

Сначала создайте макрос, который имитирует вырезание, сначала копируя, а затем очищая ячейку:

Tools-> Macros-> Edit Macros-> Добавьте следующее в модуль (например Module1, )

Макро

REM  *****  BASIC  *****

sub CutAndPaste

dim document   as object
dim dispatcher as object
document   = ThisComponent.CurrentController.Frame
dispatcher = createUnoService("com.sun.star.frame.DispatchHelper")

dispatcher.executeDispatch(document, ".uno:Copy", "", 0, Array())
dispatcher.executeDispatch(document, ".uno:ClearContents", "", 0, Array())

end sub

Затем назначьте макрос Ctrl+X

Tools-> Customize-> поиск и выбор Ctrl+Xв Shortcut Keys-> выбор LibreOffice Macros / My Macros / Standard / Module1в Category-> выбор CutAndPasteв Функции -> нажмите Modifyв правом верхнем углу, чтобы назначить макрос сочетанию клавиш.

назначить макрос на ярлык

Теперь вы можете использовать Ctrl+ X, Ctrl+ Vдля вырезания и вставки, не изменяя ссылки других ячеек, указывающие на вырезанную ячейку.

Связанный контент