Então, digamos que precise criar um pequeno script que permita que os seus usuários selecionem um número de colunas (letras de A a Z) a partir de um ListBox. E em seguida extraiamos os itens selecionados na caixa de listagem.
1
Crie um formulário com uma ListBox chamado Listbox1 e um botão chamado CommandButton1.
2
Crie uma SUB UserForms no seu formulário.
3
Preencha (popule) a ListBox com letras de A a Z:
Private Sub UserForm_Initialize()
' Crie um array.Dim AlfabetArray() As String' Defina o conteúdo do array. Aqui podemos separá-las com "|", mas não poderemos usar ",".Let AlfabetArray = Split("A|B|C|D|E|F|G|H|I|J|K|L|M|N|O|P|Q|R|S|T|U|V|X|Y|Z", "|")' Populando o Listbox com o array de letrasLet ListBox1.List = AlfabetArray
End Sub
4
Certifique-se de que a caixa de listagem tenha o seu atributo MultiSelect definido como 1 - fmMultiSelectMulti, se você quiser que os usuários possam selecionar vários itens com um clique do mouse.
Selecione 2 - fmMultiSelectExtended, se quiser que os usuários possam usar um "Ctrl-clique " para selecionar vários itens muito mais rápido.
Extraia os itens selecionados do ListBox e insira-os na matriz para uso posterior.
Private Sub CommandButton1_Click()Dim lItem As LongDim BernardNavne() As String 'ArrayDim blDimensioned As Boolean 'Is the array dimensioned?Dim lngPosition As Long 'CountingLet blDimensioned = False' Efetua o Loop através de todos os itens no ListboxFor lItem = 0 To Me.ListBox1.ListCount - 1If Me.ListBox1.Selected(lItem) Then' Se estiver selecionado adicionna-o ao array'Checamos se o array está corretamente dimensionadoIf blDimensioned = True ThenReDim Preserve BernardNavne(0 To UBound(BernardNavne) + 1) As StringElseReDim BernardNavne(0 To 0) As StringblDimensioned = True 'flagEnd If' Adicionamos a letra ao arrayBernardNavne(UBound(BernardNavne)) = Me.ListBox1.List(lItem)End IfNext lItem'Loop through array to see which items were selected from the Listbox:For lngPosition = LBound(BernardNavne) To UBound(BernardNavne)
MsgBox BernardNavne(lngPosition)
Next lngPositionEnd Sub