Tem como puxar parte de texto para COMBOXBOX


#1

Olá a todos,

Minha duvida é a seguinte:

Tenho um combobox no formulário, eu queria que carregasse para esse formulário somente os textos que tenha a inicial R, isso vai ser fixo assim sempre.
Quando eu clicar no combobox so ira ter informações com a inicial R.

Obrigado.


#2

Depende… de onde vem os dados desse Combobox?


#3

Da coluna A de uma planilha!


#4

Talvez esse código possa te dar uma noção de como fazer…

Option Compare Text
Private Sub ComboBox1_DropButtonClick()
On Error GoTo proximo
    If Left(ComboBox1.List(1), 1) = Plan1.Range("E1").Text Then
        Exit Sub
   End If
        
proximo:
ComboBox1.Clear
    For i = 2 To Plan1.Range("A" & Plan1.Range("A" & Rows.Count).End(xlUp).Row).Row
        If Plan1.Range("A" & i).Text Like Plan1.Range("E1").Text & "*" Then
            ComboBox1.AddItem (Plan1.Range("A" & i).Text)
        End If
    Next i
    
End Sub

Comobox_apenas_letraR.xlsm (41,7 KB)


#5

Olá,
Tentei fazer porem sem êxito , segue abaixo meu código:

Private Sub atualizaProtocolos()
cboProtocolo.Clear

Dim linConta As Long
Dim linTotal As Long

linTotal = Sheets(“Cadastro”).Range(“A1”).End(xlDown).Row
For linConta = 2 To linTotal
cboProtocolo.AddItem Sheets(“Cadastro”).Range(“A” & linConta).Value

Next linConta

End Sub

pode me ajudar?


#6

Olá colega, posso sim. Porém é meio complicado montar um código específico sem ver sua planilha…

Poderia postá-la?


#7

Olá! Consegui ajuda em outro fórum segue abaixo como ficou:

Private Sub atualizaProtocolos()
Dim linConta As Long, linTotal As Long

cboProtocolo.Clear

With Sheets(“Cadastro”)
linTotal = .Range(“A1”).End(xlDown).Row
For linConta = 2 To linTotal
If UCase(VBA.Left(.Range(“A” & linConta), 1)) = “R” Then
cboProtocolo.AddItem .Range(“A” & linConta).Value
End If
Next linConta
End With
End Sub

Agraço pela ajuda!!! :wink: