Sorteio por fórmula sem repetir nomes de outra coluna

Não entendi por que a planilha ignora a condição na macro abaixo:

Do Until K130 = 0
	rem ----------------------------------------------------------------------
	rem get access to the document
	document   = ThisComponent.CurrentController.Frame
	dispatcher = createUnoService("com.sun.star.frame.DispatchHelper")
	rem ----------------------------------------------------------------------
	dispatcher.executeDispatch(document, ".uno:CalculateHard", "", 0, args1())
Loop

:\

Tem que definir o que é K130, se for um conteúdo de célula, terá que ir a célula, pegar o conteúdo e jogar em uma variável. Assim usa a variável.

No arquivo teste4, acima na resposta, retirei planilha.

A sua sugestão ficou melhor, sem a planilha.

.

Realmente, o comando de repetição Do … Loop
não funciona no LibreOffice como na imagem de link adicionado no meu primeiro comentário de ( Out 7 '19 ), apesar de ali tratar da linguagem do OpenOffice.org Basic.

.

Estou pesquisando na net um código com comando de repetição para o LO Basic, que funcione com o código abaixo para recalcular planilha:

Sub Calculate()
   ThisComponent.calculateAll()
End Sub

FONTE: ([Solved] Basic Macro to Recalculate Spreadsheet (View topic) • Apache OpenOffice Community Forum)

.

abç!

Analise esta macro, a altere como desejado

**sub RecalF9**

altere esta linha para sua célula K130

args111(0).Name = “ToPoint” : args111(0).Value = “Conferente

eu usei a linha de comando WAIT 0 na sua sugestão.

.

Muito obrigado pela colaboração!!

:slight_smile:

Dim oSheet As Object
oSheet = ThisComponent.CurrentController.ActiveSheet
Dim oCell As Object
oCell = oSheet.getCellByPosition(10, 129)
Do Until oCell.Value = 0
	ThisComponent.calculateAll()
	WAIT 0
Loop

FONTE: Ask LibreOffice