Como converter código VBA do Excel para o Calc?

Tenho uma planilha do Excel na qual usando o código abaixo roda perfeitamente. A função dela é associar quatro botões que me permitem avançar ou retroceder o mês ou o ano de uma data.
Abrindo essa planilha no Calc não funciona. Pesquisei como contornar, mas nenhuma dica deu certo.
Não conheço VBA. Esse código achei na internet, que serviu pra mim.
Como converter essas rotinas pro Calc?

Sub Avancar_o_Mês()
Dim data1 As Range

Set data1 = Range("C2")
  
data1 = VBA.DateAdd("m", 1, data1)

End Sub

Sub Retroceder_o_Mês()
Dim data2 As Range

Set data2 = Range("C2")
  
data2 = VBA.DateAdd("m", -1, data2)

End Sub

Sub Avancar_o_Ano()
Dim data3 As Range

Set data3 = Range("C2")
  
data3 = VBA.DateAdd("yyyy", 1, data3)

End Sub

Sub Retroceder_o_Ano()
Dim data4 As Range

Set data4 = Range("C2")
  
data4 = VBA.DateAdd("yyyy", -1, data4)

End Sub

Calendário.ods

@pcmac com a inclusão de Option VbaSupport 1 no Module e a retirada de VBA. da macro, a data é alterada porém ainda gera erro !!!

Option VbaSupport 1

Sub Avancar_o_Mês() Dim data1 As Range
Set data1 = Range("C2")
data1 = DateAdd("m", 1, data1)
End Sub

Sub Retroceder_o_Mês() Dim data2 As Range
Set data2 = Range("C2")
data2 = DateAdd("m", -1, data2)
End Sub

Sub Avancar_o_Ano() Dim data3 As Range
Set data3 = Range("C2")
data3 = DateAdd("yyyy", 1, data3)
End Sub

Sub Retroceder_o_Ano() Dim data4 As Range
Set data4 = Range("C2")
data4 = DateAdd("yyyy", -1, data4)
End Sub

Descrição da imagem

Ola @pcmac, não sei como esta usando, mas segue uma sugestão sem Macro, usando Contador e uma data base.

Arquivo do teste ( ERRO )

Complemento

Segue arquivo teste alterado conforme seu arquivo.

As macros não são bonitas, mas estão funcionando.

Vide Observações na planilha.

Arquivo teste 2|attachment ( ERRO )

Complemento 2

Arquivo teste 3


ATENÇÂO:: Para dar mais detalhes a sua pergunta, use Descrição da imagem na pergunta ou Descrição da imagem abaixo. Não use Adicionar resposta para comentário. Grato.

Caso a resposta atendeu sua necessidade, por gentileza, click na bolinha Descrição da imagem a esquerda da resposta, para finalizar a pergunta.

Grato pela atenção.
Estudando sua solução consegui resolver aqui. O uso é parecido com o botão de rotação do Excel.
Muito agradecido.

Tem exemplos de calendários aqui: Escritório Aberto - The Document Foundation Wiki e tenho esse projeto incompleto com vários modelos.

Para enviar arquivo, edite sua pergunta e com o ícone clique anexa o arquivo e o ícone quadradinho é para imagens.

Estava vendo melhor sua solução e ainda não é o ideal. Porque no calendário eu tenho a opção de inserir a data na célula C2 e dessa maneira que enviou ali ficou uma fórmula, então se digitar a data perde a fórmula. Editei aqui, mas não identifiquei qual o ícone para enviar arquivo.
Editando de novo (rs). Bem interessante seu projeto. Parabéns.
Editando mais uma vez (eita). Percebi que pra enviar arquivo a mensagem a ser editada é a primeira. Enviei o arquivo convertido pro ODS. Não consegui enviar o arquivo original pra Excel, porque não é permitida a extensão xslm. A parte abaixo do calendário, onde aparece o nome dos feriados, ainda precisa ser corrigida a lógica. Por enquanto o problema são os botões.

Vide Complemento em minha Resposta acima…

Melhorou, mas ainda há erro. Repare que se retroceder alguns meses dá erro no calendário e na célula onde fica a data digitada.

Realmente, esqueci que é data.

Vide Complemento 2 em minha Resposta acima…

Melhorou, mas sempre que digito a data dá erro de inserção na data.

Delete a validação e refaça,

Deve ser algum espírito maldoso na planilha .

Arquivo com validação refeita : 305644.ods

Grato.
Não percebi diferença entre essas duas últimas que enviou. Também não entendi “refazer a validação”.
Ainda persiste o erro na inserção de data.
Esse espírito maldoso persiste.

A diferença foram alterações nas Macros.

Altere a Validação para “Todos os valores” e deixe a Ajuda.

Descrição da imagem

Está melhorando (rs).
Mas se eu colocar na célula C2 a função =hoje() dá erro no calendário.

Coloque =hoje() em qualquer célula, recorte e cole em C2.

Ou C2 esta formatado Texto, formate data.

MAS, quando usar as setas o =hoje(), é alterado para data.

Grato. Acho que agora ficou perfeito.
Uma solução legal também é o uso do contador. Tentei adaptar a dica do amigo WBastos para recuar mês, avançar e recuar ano, mas não consegui.
Mas já estou satisfeito com o resultado.

Encontrei um pequeno problema. A data só mostra dois dígitos para o ano e configurando para os anos 2000.
Se eu digitar um ano qualquer dos anos 1900 fica correto, mas quando modifico o mês ou o ano a data muda para os anos 2000.

Formate B7, Data, formato DD/MM/AAAA

Perfeito.
Mais uma coisinha pra te deixar em paz.
Estou querendo mudar a fómula ali embaixo do calendário, onde aparecem os feriados do mês. Estou copiando da planilha que tenho no Excel, mas quando colo no Calc simplesmente não exibe o conteúdo das células. O que tenho que fazer pras fórmulas funcionarem? Estranho que isso ocorre quando copio as novas fórmulas, mas funciona com as fórmulas que já estavam lá.

Formulas alteradas ( as de fundo verde ) e automatizadas.

305644.ods