Explorar E-books
Categorias
Explorar Audiolivros
Categorias
Explorar Revistas
Categorias
Explorar Documentos
Categorias
VBAExcelUsandoListBox
http://www.macoratti.net/13/10/vba_xlslb.htm
1/10
20/06/2015
VBAExcelUsandoListBox
Este procedimento ir criar uma nova pasta de trabalho (Workbook) em branco contendo
trs planilhas.
Usando a planilha Plan1 informe alguns dados nesta planilha conforme mostra a figura
abaixo.
Neste primeiro projeto nosso objetivo ser preencher um controle ListBox em uma
aplicao VBA com os dados desta planilha.
http://www.macoratti.net/13/10/vba_xlslb.htm
2/10
20/06/2015
VBAExcelUsandoListBox
Do VBE voc pode ir para o Excel clicando no boto Excel no topo/esquerdo de sua tela .
Assim usando os dois botes voc pode navegar no VBE para o Excel e, viceversa.
Nota: Voc pode abrir o Editor Visual Basic clicando no menu Desenvolvedor e a seguir
no cone Visual Basic.
Vamos incluir no projeto VBA um formulrio ou UserForm, para isso, clique no menu
Inserir > UserForm;
http://www.macoratti.net/13/10/vba_xlslb.htm
3/10
20/06/2015
VBAExcelUsandoListBox
http://www.macoratti.net/13/10/vba_xlslb.htm
4/10
20/06/2015
VBAExcelUsandoListBox
Vamos usar o evento Click do controle CommandButton para que quando o usurio clicar
no boto o ListBox seja preenchido.
Para isso clique duas vezes sobre o controle CommandButton e digite o cdigo abaixo no
evento Click:
Private Sub CommandButton1_Click()
ListBox1.ColumnCount = 3
ListBox1.RowSource = "Plan1!A1:C14"
ListBox1.Font.Size = 10
ListBox1.Font.Name = "Verdana"
End Sub
Vamos entender o cdigo:
ListBox1.ColumnCount = 3
A propriedade ColumnCount especifica o nmero de colunas a exibir em uma caixa de
listagem ou caixa de combinao.
Este cdigo atribui o valor 3 propriedade ColumnCount do controle ListBox1. Isso define
que vamos exibir 3 colunas pois vamos obter os dados da planilha que possui 3 colunas.
ListBox1.RowSource = "Plan1!A1:C14"
A propriedade RowSource especifica a origem que fornece uma lista para um ComboBox
ou ListBox.
Estamos definindo a origem dos dados como sendo a planilha Plan1 da clula A1 at a
clula C14. ("Plan1!A1:C14")
ListBox1.Font.Size = 10
http://www.macoratti.net/13/10/vba_xlslb.htm
5/10
20/06/2015
VBAExcelUsandoListBox
ListBox1.Font.Name = "Verdana"
As propriedades Font.Size e Font.Name definem o tamanho e a fonte usadas pelo
controle ListBox1.
Tratando Erros
Podemos incluir um tratamento de erro em nosso cdigo para evitar surpresas. Para fazer
isso podemos usar a instruo On Error.
Se voc no usar uma instruo On Error, qualquer erro em tempo de execuo que
ocorrer ser fatal, isto , ser exibida uma mensagem de erro e a execuo para.
A instruo On Error Ativa uma rotina de tratamento de erro e especifica o local da rotina
dentro de um procedimento; pode ser usada tambm para desativar uma rotina de
tratamento de erro.
Vamos alterar o cdigo usado no evento Click incluindo a instruo On Error GoTo
TrataErro:
Private Sub CommandButton1_Click()
On Error GoTo TrataErro
ListBox1.ColumnCount = 3
ListBox1.RowSource = "Plan1!A1:C14"
ListBox1.Font.Size = 10
ListBox1.Font.Name = "Verdana"
Exit Sub
TrataErro:
MsgBox "Erro " & Err.Description, vbCritical, "Erro"
End Sub
Note que definimos uma Label TrataErro onde usamos a funo MsgBox para exibir a
descrio do objeto Err (Erro): Err.Description.
No esquea de sempre definir uma instruo Exit Sub antes da definio da Label para
tratar o erro para sair do bloco de cdigo sem executar o tratamento de erro.
Agora qualquer erro ser capturado e exibido em tempo de execuo.
6/10
20/06/2015
VBAExcelUsandoListBox
UserForm1.Show
End Sub
Este cdigo usa o mtodo Show que exibe um objeto UserForm.
Criamos o cdigo em uma Macro pois vamos abrir o formulrio UserForm1 a partir da
planilha Excel.
Retorne planilha Excel e ativando a guia do desenvolvedor vamos incluir um controle de
formulrio Boto clicando na opo Inserir e selecionando o controle Boto:
Aps selecionar o Boto coloqueo na planilha Excel. Fazendo isso de imediato ser aberta
a janela atribuir macro, exibindo a macro ExibirFormulario que criamos no Mdulo.
Selecione a macro e clique em OK;
Com isso atribumos a macro criada ao boto de comando da planilha:
http://www.macoratti.net/13/10/vba_xlslb.htm
7/10
20/06/2015
VBAExcelUsandoListBox
Pronto !
Basta clicar no boto de comando para que o formulrio UserForm seja aberto:
http://www.macoratti.net/13/10/vba_xlslb.htm
8/10
20/06/2015
VBAExcelUsandoListBox
9/10
20/06/2015
VBAExcelUsandoListBox
claro que existem outras formas de preencher um controle ListBox, mas isso assunto
para outro artigo.
Pegue a planilha aqui :
Excel_ListBox.zip
http://www.macoratti.net/13/10/vba_xlslb.htm
10/10