No Calc ou MS Excel, quando terminar de editar uma célula em uma linha, pressionar Enter leva à próxima linha abaixo. Continue fazendo isso e eventualmente você chegará à última linha visível na tela. Aqui, quando você pressiona Enter, isso levará à próxima linha, mas agora é a última linha. É difícil ver a última linha em telas como os óculos Nreal Air (já que a parte inferior está sempre desfocada). Minha solução foi manter a linha atualmente selecionada no meio. Isso significa que sempre que Enter for pressionado, uma macro verificará quantas linhas estão visíveis na linha recém-selecionada. Se for menor que 3, as linhas visíveis irão subir (mantendo assim a linha selecionada no meio). A seguiras respostas resolvem exatamente esse problema no MS Excel. Eu gostaria de fazer o mesmo no LibreOffice Calc. No entanto, até agora não tive sucesso em escrever uma macro que verifica as linhas visíveis sob a linha selecionada e adiciona uma nova linha toda vez que pressiono Enter (mantendo assim a próxima linha selecionada no meio da tela). Alguma ideia de como fazer isso no Calc?
Sua tarefa não é difícil de implementar - na verdade, você só precisa usar o método .setFirstVisibleRow() para alterar a área de exibição levando em consideração os valores da "linha atual" e da "última linha visível". Por exemplo, esta macro pode fazer isto:
A principal dificuldade está em escolher como executar esta macro. Por exemplo, você pode atribuir esse script como um manipulador para o evento "Seleção alterada".
Mas, neste caso, a macro só funcionará para as planilhas às quais está atribuída. (A propósito, a solução Excel a que você se refere na sua pergunta funciona exatamente da mesma forma - apenas para a planilha especificada).
Você pode pensar em algum tipo de macro geral que, ao abrir qualquer planilha, atribuirá esse ouvinte de evento a todas as planilhas e o atribuirá a todo o pacote de escritório .