Como saber a posição de uma determinado valor em um Combobox

Tenho um Combobox com valores e quero obter a posição de um item. Seria uma uma função como .ListIndex do VBA Excel que faz referência direta a posição do item escolhido. Sei que é possível realizar essa operação atraves de um comando For, mas quero minimizar o tamanho do código.

Bom dia,

Quando você quer o índice (posição) do item na lista, o melhor é usar uma Listbox. É só desenhá-la e definir a propriedade Suspensa como Sim. Em seguida, no código acessar a propriedade SelectedItemPos conforme o exemplo:

Estou assumindo que o listbox “Caixa de listagem 1” está na Planilha1:

Sub Main
   oDoc = ThisComponent
   oControlador = oDoc.CurrentController
   oForm = oDoc.Sheets.getByName("Planilha1").DrawPage.Forms(0)
   
   oListBox = oForm.getByName("Caixa de listagem 1")
   oListBoxView = oControlador.getControl(oListBox)
   
   nPos = oListBoxView.SelectedItemPos
   
   msgbox "Índice (posição): " & nPos,,"ListBox"
End Sub

Atte,

O problema e que o listbox não me dá a aparência desejada. Essa ideia do Listbox é boa quero com o Combobox. Grato

@Amaral, o que você quer dizer por aparência desejada? No LibreOffice, o listbox e o combobox podem ser bastante similares em aparência. Veja esta imagem.

Sua ideia é ótima, mas eu quero digitar digitar, como no Combobox do Excel. A lista suspensa não possibilita digitar. O objetivo é digitar e identificar se determinado valor pertence ou não ao Combobox. Caso pertença, as informações, dependente deste Combobox, serão preenchidas em caso de não pertencer um botão dará a opção de inserir o item que não consta. Eu estou fazendo isso em uma Caixa de Diálogo BASIC.