Ordenação Alfabética ComboBox x Formulas

Criei na tela um ComboBox para visualizar as formulas (receitas) já criadas, e no evento OnStartRunning executo o seguinte script:

Sub SelecaoProduto_OnStartRunning()

set formula = Application.GetFormulaValueDataObj(“Formula1”)
set combo = me
combo.Clear

for i = 0 to (formula.Count - 1)
	strNome = formula.Name(i + 1)
	combo.AddItem strNome
next	

End Sub

Porém ele retorna todos itens criados nas formulas por ordem de criação, e necessito apresenta-los em ordem alfabética.

Como posso proceder?

Ola @RenatoMuga,

Caso queria utilizar outra ordenação na listagem das formulas, pode-se utilizar uma consulta na tabela de Valores com a ordenacao desejada.
Apos a consulta, bastaria utilizar a funcao GetADORecordSet para buscar os valores retornados para inserir no ComboBox.

Att.
Link

Sub SelecaoProduto_OnStartRunning()
	Dim i
	Dim list		: Set list = CreateObject("System.Collections.ArrayList")
	Dim objFormula	: Set objFormula = Application.GetFormulaValueDataObj("Formula1")

	Me.Clear
	
	For i = 1 To objFormula.Count 
		list.Add objFormula.Name( i )
	Next		
	
	list.Sort
	
	For i = 0 To (list.Count - 1)
		Me.AddItem list( i )
	Next
End Sub

NOTA: Em sistemas com Windows 10 eventualmente será necessário uma versão do .NET igual ou anterior a 3.5 para utilizar o ArrayList

FONTE: https://docs.microsoft.com/en-us/dotnet/framework/install/dotnet-35-windows-10

1 Like