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

Muito bom.
A utilidade da fórmula na célula B7 é permitir digitar a data na C2?

Depois de tanto tempo reparei aqui um detalhe. No mês de janeiro não está exibindo o segundo feriado (dia 20) embaixo do calendário. Estou quebrando a cabeça pra entender por quê.Interessante que pra abril e novembro exibe todos os feriados.

Ola @pcmac, desculpe a demora, só recebi informação deste comentário hoje ( 15/05)

Nas formulas em E11 e F11 corrija

de: MENOR(L4:L17

para: MENOR($L$4:$L$17

faltou fixar a área.

E copie para baixo.

@pcmac , não sei se te serve, mas segue uma alternativa utilizando o campo de data que adaptei utilizando uma das macros disponibilizadas pelo @schiavinatto.

Com o contador habilitado é possível navegar pelos dias, meses e anos.

'===================
Sub DataIn (oEvento)
'===================
oDoc = ThisComponent
oPlan = oDoc.Sheets(0)
oCel = oPlan.getCellRangeByName ( "C2" )
oCampoData = oEvento.Source.Model
	  
	With oCampoData.Date
		sData = oCampoData.Text
    End With
	oCel.String = sData 
End Sub

Segue planilha com alterações no código e correção do campo de entrada manual de data.

Link do Arquivo: Planilha Teste

Interessante, mas foi feita usando uma anterior que apresentava erro. Se for clicando para alterar os meses dá erro.
Grato.

Acredito que se você colocar um contador numa célula auxiliar e depois usar o valor na fórmula, pode ser que dê certo, mas depois olho seu código com tempo

Se você inspecionar a variável DData (tecla F7 e debugar com F8), verá que na virada de ano a data passará para **01/13/2022**, ou seja, tem que definir a contagem do mês até 12 e depois voltar para o mês 01.

Testei aqui e deu certo para o avanço do mês, mas tem que adaptar para os demais campos:

Sub MesMais
	oDoc = ThisComponent
	oSel = oDoc.getCurrentSelection()	
	GoToLocal "DDia"
	oSel = oDoc.getCurrentSelection()
	Dia = oSel.getString()
	GoToLocal "MMes"
	oSel = oDoc.getCurrentSelection()
	Mes = oSel.getString()
	GoToLocal "AAno"
	oSel = oDoc.getCurrentSelection()
	Ano = oSel.getString()
	DData = Dia &"/"& Mes + 1 &"/"& Ano
		**If Mes > 11 Then 
			DData = Dia &"/"& 01 &"/"& Ano
		Else
			DData = Dia &"/"& Mes + 1 &"/"& Ano + 1
		End If**   
	oDoc.CurrentController.ActiveSheet.GetCellRangeByName( "C2" ).String = DData 
	GoToLocal "B2"
End Sub