Este fórum está sendo desativado

Depois de 9 anos, este fórum será desativado. Mas calma.... estamos migrando para uma comunidade no DISCORD. Junte-se a nós.

ENTRAR PARA DISCORD

Tópicos relacionados a códigos VBA, gravação de macros, etc.
  • Avatar do usuário
#47767
Bom dia amigos,

Preciso do apoio de vcs para editar o código abaixo da minha Combobox. O que eu necessito é que o código coloque os valores em ordem alfabética.
Código: Selecionar todos
Private Sub UserForm_Initialize()

    Dim OCOLLECTION As New Collection
    Dim VARVALUE As Variant
    Dim I As Long
    
    On Error Resume Next
    For Each VARVALUE In wshBD.Range("B2:B" & wshBD.Range("B65536").End(xlUp).Row)
        OCOLLECTION.Add VARVALUE, VARVALUE
    Next
    
    For I = 1 To OCOLLECTION.Count
        ComboBoxPesq.AddItem OCOLLECTION.Item(I)
    Next I
    

End Sub
Avatar do usuário
Por Jimmy
Avatar
#47769
Olá Leonardo,

Poderia anexar a planilha, ou um modelo dela, para que trabalhemos em cima dela?

Jimmy San Juan
#47771
Jimmy escreveu:Olá Leonardo,

Poderia anexar a planilha, ou um modelo dela, para que trabalhemos em cima dela?

Jimmy San Juan
Bom dia Jimmy,

Segue planilha em anexo. Muito obrigado pelo apoio.
Você não está autorizado a ver ou baixar esse anexo.
#47773
Veja se ajuda. Fiz isso antes de voc~e enviar o arquivo.
Código: Selecionar todos
Private Sub UserForm_Initialize()

    Dim coll As Object
    Dim vrtArr  As Variant
    Dim VARVALUE As Variant
    Dim I As Long
    
    Set coll = CreateObject("System.Collections.ArrayList")
   
    On Error Resume Next
    For Each VARVALUE In wshBD.Range("B2:B" & wshBD.Range("B65536").End(xlUp).Row)
        coll.Insert VARVALUE, VARVALUE
    Next
    
    coll.Sort
    
    vrtArr = coll.ToArray
    
    ComboBoxPesq.List vrtArr
    
    Set coll = Nothing
End Sub
#47775
Ajustei o código.
Código: Selecionar todos
Private Sub UserForm_Initialize()
    Dim coll As Object
    Dim vrtArr  As Variant
    Dim VARVALUE As Variant
    Dim I As Long
    
    Set coll = CreateObject("System.Collections.ArrayList")
   
    On Error Resume Next
    For Each VARVALUE In wshBD.Range("B2:B" & wshBD.Range("B65536").End(xlUp).Row)
        If Not coll.contains(VARVALUE.Value2) Then
            coll.Add VARVALUE.Value2
            coll.Insert VARVALUE.Value2, VARVALUE.Value2
        End If
    Next
    
    coll.Sort
    vrtArr = coll.ToArray
    frmPesquisa.ComboBoxPesq.List = vrtArr
    Set coll = Nothing
End Sub
Você não está autorizado a ver ou baixar esse anexo.
#47779
babdallas escreveu:Ajustei o código.
Código: Selecionar todos
Private Sub UserForm_Initialize()
    Dim coll As Object
    Dim vrtArr  As Variant
    Dim VARVALUE As Variant
    Dim I As Long
    
    Set coll = CreateObject("System.Collections.ArrayList")
   
    On Error Resume Next
    For Each VARVALUE In wshBD.Range("B2:B" & wshBD.Range("B65536").End(xlUp).Row)
        If Not coll.contains(VARVALUE.Value2) Then
            coll.Add VARVALUE.Value2
            coll.Insert VARVALUE.Value2, VARVALUE.Value2
        End If
    Next
    
    coll.Sort
    vrtArr = coll.ToArray
    frmPesquisa.ComboBoxPesq.List = vrtArr
    Set coll = Nothing
End Sub
Muito obrigado babdallas! Funcionou perfeitamente.
long long title how many chars? lets see 123 ok more? yes 60

We have created lots of YouTube videos just so you can achieve [...]

Another post test yes yes yes or no, maybe ni? :-/

The best flat phpBB theme around. Period. Fine craftmanship and [...]

Do you need a super MOD? Well here it is. chew on this

All you need is right here. Content tag, SEO, listing, Pizza and spaghetti [...]

Lasagna on me this time ok? I got plenty of cash

this should be fantastic. but what about links,images, bbcodes etc etc? [...]

Estamos migrando para uma comunidade no Discord