Professional Documents
Culture Documents
End Sub
End Sub
msg = "Width: " & Me.Width & Chr(10) & "Height: " & Me.Height
MsgBox prompt:=msg, Title:="Resize Event"
End Sub
End Sub
Sobre o Executar menu, clique em Executar Sub/UserForm.
Quando o UserForm carregada pela primeira vez, a macro usa o evento Initialize para
alterar a propriedade Caption do UserForm para "Eventos de eventos de eventos!" e a
propriedade BackColor como azul escuro.
Quando voc clica em UserForm, voc Inicia o evento Click . O evento Click
redimensiona o formulrio de usurio. Porque voc criou um procedimento para o
evento Resize , receber duas caixas de mensagem depois de clicar na UserForm. O
evento Resize ocorre duas vezes porque o cdigo do evento Click altera a propriedade
de largura e a propriedade Height de um UserForm.
Unload Me
End Sub
End Sub
Sobre o Executar menu, clique em Executar Sub/UserForm.
O UserForm no fechado quando voc clicar na Fechar boto. Voc deve clicar na
CommandButton controle para fechar o formulrio de usurio.
Para obter informaes adicionais, clique no nmeros de artigo abaixo para ler os
artigos na Base de dados de Conhecimento da Microsoft:
207714
(http://support.microsoft.com/kb/207714/ )
XL2000: Erros em tempo de execuo usando a coleo de UserForms
211527
(http://support.microsoft.com/kb/211527/ )
XL2000: No possvel arrastar UserForm controle em uma planilha
211868
(http://support.microsoft.com/kb/211868/ )
XL2000: Erro ao executar a macro que insere o controle no UserForm
213582
(http://support.microsoft.com/kb/213582/ )
XL2000: Problemas ao usar a macro para adicionar o controle ao UserForm
213583
(http://support.microsoft.com/kb/213583/ )
XL2000: No possvel mostrar UserForms em outros projetos
213736
(http://support.microsoft.com/kb/213736/ )
XL2000: Como determinar a tecla pressionada junto com o boto do mouse
213744
(http://support.microsoft.com/kb/213744/ )
XL2000: Como ocultar temporariamente um UserForm
213747
(http://support.microsoft.com/kb/213747/ )
XL2000: Como mover entre UserForms personalizados com botes de comando
213749
(http://support.microsoft.com/kb/213749/ )
XL2000: como Para usar um UserForm para inserir dados
213768
(http://support.microsoft.com/kb/213768/ )
XL2000: Como redimensionar dinamicamente um formulrio do usurio
213774
(http://support.microsoft.com/kb/213774/ )
XL2000: Como criar uma tela de inicializao com um UserForm
Cdigo do VBA
O Excel inclui quinze diferentes controles que podem ser usados em UserForms.
Esta seo contm vrios exemplos que usam esses controles por meio de programao.
Observao O cdigo do VBA que est includo neste artigo no contm exemplos que
afetam todas as propriedades e eventos para os controles. Se voc preciso, voc pode
usar a janela Properties para ver uma lista das propriedades que esto disponveis para
um controle. Para ver uma lista de propriedades, o Modo de exibio menu, clique em
Janela Propriedades.
Como usar o modo de design para controles de edio
Quando voc usar o Editor do Visual Basic para criar uma caixa de dilogo, voc
est usando o modo de design. No modo de design, voc pode editar controles e voc
pode alterar as propriedades de um controle em um UserForm na janela Propriedades.
Para exibir a janela de propriedades, sobre oModo de exibio menu, clique em Janela
Propriedades.
With Label1
' Set the text of the label.
.Caption = "This is Label Example 1"
' Automatically size the label control.
.AutoSize = True
.WordWrap = False
' Set the font used by the Label control.
.Font.Name = "Times New Roman"
.Font.Size = 14
.Font.Bold = True
' Set the font color to blue.
.ForeColor = RGB(0, 0, 255)
End With
End Sub
Sobre o Executar menu, clique em Executar Sub/UserForm.
Clique no CommandButton.
O texto "Este o exemplo de rtulo 1" exibida no controle de rtulo em negrito Times
New Roman com um tamanho de fonte de 14.
Controles TextBox
Controles TextBox so freqentemente usados para coletar entrada do usurio. A
propriedade de texto contm a entrada feita em um controle TextBox .
Como usar um controle TextBox para validar uma senha
Se voc definir a propriedade PasswordChar de um controle TextBox , ele se torna
um controle de "edio mascarada". Cada caractere que foi digitado na caixa de texto do
controle substitudo visualmente pelo caractere que voc especificar. Para usar um
controle TextBox para validar uma senha, siga estas etapas:
Inicie o Excel e, em seguida, abra uma nova pasta de trabalho em branco.
Sobre o Ferramentas aponte paraMacroe, em seguida, clique em Visual Basic Editor.
Sobre o Inserir menu, clique emUserForm Para inserir um formulrio de usurio em sua
pasta de trabalho.
Adicione um controle TextBox para o formulrio de usurio.
Sobre o Modo de exibio menu, clique emPropriedades Para tornar a janela de
propriedades visveis.
Na propriedade PasswordChar do controle TextBox , digite *.
End Sub
Para obter informaes adicionais, clique em no nmero de artigo que se segue para
visualizar o artigo na Microsoft Knowledge Base:
213555
(http://support.microsoft.com/kb/213555/ )
XL2000: Nenhuma propriedade de validao de dados para UserForm TextBoxes
Controles CommandButton
Voc pode usar um controle CommandButton para iniciar um procedimento VBA. O
procedimento do VBA normalmente anexado ao evento Click do controle
CommandButton . Para usar um controle CommandButton que executa um
procedimento quando ocorre o evento Click , siga estas etapas:
Inicie o Excel e, em seguida, abra uma nova pasta de trabalho em branco.
Sobre o Ferramentas aponte paraMacroe, em seguida, clique em Visual Basic Editor.
Sobre o Inserir menu, clique emUserForm Para inserir um formulrio de usurio em sua
pasta de trabalho.
Adicione um controle CommandButton para UserForm.
Clique duas vezes o CommandButton o controle para Exiba a janela de cdigo para o
UserForm.
Na janela cdigo, digite o seguinte cdigo:
Private Sub CommandButton1_Click()
End Sub
Sobre o Executar menu, clique em Executar Sub/UserForm.
A cor de fundo a CommandButton1controle alterado toda vez que voc clicar.
Para obter informaes adicionais sobre o CommandButton de controle, clique nos
nmeros abaixo para ler os artigos na Base de dados de Conhecimento da Microsoft:
213572
(http://support.microsoft.com/kb/213572/ )
XL2000: Quando voc clica em boto de cancelar no pode dispensar UserForm
213743
(http://support.microsoft.com/kb/213743/ )
XL2000: Como definir o boto de comando padro em um UserForm
Controles de caixa de listagem
A finalidade do controle ListBox apresentar ao usurio uma lista de itens a serem
selecionados de. Voc pode armazenar a lista de itens para um controle de caixa de
listagem em uma planilha do Excel. Para preencher um controle ListBox com um
intervalo de clulas em uma planilha, use a propriedade OrigemDaLinha . Quando voc
usa a propriedade MultiSelect , voc pode configurar um controle ListBox para aceitar
vrias selees.
Como obter o item atualmente selecionado no controle ListBox
Use a propriedade Value de um controle ListBox para retornar o item atualmente
selecionado. Para retornar a o item atualmente selecionado em um nico controle de
caixa de listagem selecionar, siga estas etapas:
Inicie o Excel e, em seguida, abra uma nova pasta de trabalho em branco.
Nas clulas a1: a5 em Sheet1, digite os valores que voc deseja Use para preencher o
controle ListBox .
Sobre o Ferramentas aponte paraMacroe, em seguida, clique em Visual Basic Editor.
Sobre o Inserir menu, clique emUserForm Para inserir um formulrio de usurio em sua
pasta de trabalho.
Adicione um controle ListBox ao UserForm.
Clique duas vezes o Caixa de listagem o controle para Exiba a janela de cdigo para o
controle ListBox .
Na janela cdigo, digite o seguinte cdigo para o evento Click ListBox1 :
Private Sub ListBox1_Click()
MsgBox ListBox1.Value
End Sub
Sobre o Executar menu, clique em Executar Sub/UserForm.
Quando voc clica em um item na lista, uma caixa de mensagem aparece com o item
atualmente selecionado.
Como obter os itens selecionados em um controle de caixa de listagem selecionar vrios
Para determinar os itens selecionados em um controle de caixa de listagem
selecionar mltiplos, voc deve percorrer todos os itens na lista, e em seguida, consulte
a propriedade Selected . Para retornar os itens atualmente selecionados em um mltiplo
Selecione o controle ListBox , siga estas etapas:
Inicie o Excel e, em seguida, abra uma nova pasta de trabalho em branco.
Nas clulas a1: a5 em Sheet1, digite os valores que voc deseja Use para preencher o
controle ListBox .
Sobre o Ferramentas aponte paraMacroe, em seguida, clique em Visual Basic Editor.
Sobre o Inserir menu, clique emUserForm Para inserir um formulrio de usurio em sua
pasta de trabalho.
Adicione um controle ListBox ao UserForm.
Sobre o Modo de exibio menu, clique emPropriedades Para ver a janela Propriedades.
Digite os valores que so indicados para as seguintes propriedades do controle ListBox :
Property Value
----------- -----------------------
MultiSelect 1 - frmMultiSelectMulti
RowSource Sheet1!A1:A8
Adicione um controle CommandButton para UserForm.
Clique duas vezes o CommandButton o controle para Exiba a janela de cdigo para o
UserForm.
Na janela cdigo, digite o seguinte cdigo para o evento Click CommandButton1 :
Sub CommandButton1_Click ()
End Sub
Sobre o Executar menu, clique em Executar Sub/UserForm.
Selecione um ou mais itens na lista.
Clique em CommandButton1.
Depois de clicar em CommandButton1, cada item que selecionado na ListBox controle
aparece em uma caixa de mensagem separada. Depois que todos os selecionados itens
so exibidos em uma caixa de mensagem, o formulrio de usurio automaticamente
fechado.
Como usar a propriedade OrigemDaLinha para preencher um controle ListBox com
clulas em uma planilha
Para usar a propriedade OrigemDaLinha para preencher um controle de caixa de
listagem de um intervalo de clulas em uma planilha, siga estas etapas:
Inicie o Excel e, em seguida, abra uma nova pasta de trabalho em branco.
Nas clulas a1: a5 em Sheet1, digite os valores que voc deseja Use para preencher o
controle ListBox .
Sobre o Ferramentas aponte paraMacroe, em seguida, clique em Visual Basic Editor.
Sobre o Inserir menu, clique emUserForm Para inserir um formulrio de usurio em sua
pasta de trabalho.
Adicione um controle ListBox ao UserForm.
Adicione um controle CommandButton para UserForm.
Clique duas vezes o CommandButton o controle para Exiba a janela de cdigo para o
UserForm.
Na janela cdigo, digite o seguinte cdigo para o evento Click CommandButton1 :
Private Sub CommandButton1_Click()
ListBox1.RowSource = "=Sheet1!A1:A5"
End Sub
Sobre o Executar menu, clique em Executar Sub/UserForm.
UserForm1.Show
End Sub
Sobre o Ferramentas menu, clique emMacros, clique em PopulateListBoxe, em seguida,
clique emExecutar.
O procedimento PopulateListBox cria uma matriz simples e, em seguida, adiciona os
itens a matriz para o controle ListBox usando o mtodo AddItem . Em seguida, o
UserForm aparece.
Como usar um intervalo horizontal de clulas em uma planilha para preencher um
controle ListBox
Se voc definir a propriedade OrigemDaLinha de um controle ListBox para um
intervalo horizontal de clulas, o primeiro valor exibida no controle ListBox .
UserForm1.Show
End Sub
Sobre o Ferramentas menu, clique emMacros, clique
emPopulateListWithHorizontalRangee, em seguida, clique emExecutar.
O macro procedimento faz um loop atravs de clulas a1: E5 em Sheet1, adicionando os
valores em ListBox1 um por vez.
Val1 = ListBox1.Value
Val2 = SourceRange.Offset(ListBox1.ListIndex, 1).Resize(1, 1).Value
Val3 = SourceRange.Offset(ListBox1.ListIndex, 2).Resize(1, 1).Value
Label1.Caption = Val1 & " " & Val2 & " " & Val3
End Sub
Sobre o Executar menu, clique em Executar Sub/UserForm.
Quando voc clica em uma entrada no controle ListBox , o rtulo alterado para exibir
todos os trs itens em Essa entrada.
Como remover todos os itens de um controle de caixa de listagem que esteja vinculado
a uma planilha
Para remover todos os itens de um controle de caixa de listagem que esteja vinculado
a uma planilha, desmarque o valor que armazenado na propriedade OrigemDaLinha .
Para remover itens de um controle de caixa de listagem que esteja vinculado a uma
planilha, siga estas etapas:
Inicie o Excel e, em seguida, abra uma nova pasta de trabalho em branco.
Nas clulas a1: a5 em Sheet1, digite os valores que voc deseja Use para preencher o
controle ListBox .
Sobre o Ferramentas aponte paraMacroe, em seguida, clique em Visual Basic Editor.
Sobre o Inserir menu, clique emUserForm Para inserir um formulrio de usurio em sua
pasta de trabalho.
Adicione um controle ListBox ao UserForm.
Com o boto direito do Caixa de listagem controle e, em seguida, Clique em
Propriedades.
Na propriedade OrigemDaLinha , digite Sheet1!A1: A5.
Adicione um controle CommandButton para UserForm.
Clique duas vezes o CommandButton o controle para Exiba a janela de cdigo para o
controle CommandButton .
Na janela cdigo, digite o seguinte cdigo para o evento Click CommandButton1 :
Private Sub CommandButton1_Click()
ListBox1.RowSource = ""
End Sub
Sobre o Executar menu, clique em Executar Sub/UserForm.
UserForm1.Show
End Sub
Adicione um controle CommandButton para UserForm.
Clique duas vezes o CommandButton o controle para Exiba a janela de cdigo para o
controle CommandButton .
Na janela cdigo, digite o seguinte cdigo para o evento Click CommandButton1 :
Private Sub CommandButton1_Click()
For i = 1 To ListBox1.ListCount
ListBox1.RemoveItem 0
Next I
End Sub
Sobre o Ferramentas menu, clique emMacros, clique em PopulateListBoxe, em seguida,
clique emExecutar.
UserForm1.Show
End Sub
Adicione um controle CommandButton para UserForm.
Clique duas vezes o CommandButton o controle para Exiba a janela de cdigo para o
controle CommandButton .
Na janela cdigo, digite o seguinte cdigo para o evento Click CommandButton1 :
Private Sub CommandButton1_Click()
listvar = ComboBox1.List
End Sub
Sobre o Ferramentas menu, clique emMacros, clique em PopulateListBoxe, em seguida,
clique emExecutar.
End Sub
Sobre o Executar menu, clique em Executar Sub/UserForm.
ComboBox1.DropDown
End Sub
Sobre o Executar menu, clique em Executar Sub/UserForm.
O UserForm aparece em Sheet1 e voc pode ver a lista para ComboBox1.
Como exibir a lista de um controle de caixa de combinao quando voc faz uma
seleo em um outro controle ComboBox
Para exibir a lista de um controle ComboBox automaticamente quando a opo
feita em um outro controle de caixa de combinao , siga estas etapas:
Inicie o Excel e, em seguida, abra uma nova pasta de trabalho em branco.
Nas clulas a1: a10 de Sheet1, digite os valores que voc deseja Use para preencher o
controle ComboBox .
Sobre o Ferramentas aponte paraMacroe, em seguida, clique em Visual Basic Editor.
Sobre o Inserir menu, clique emMdulo.
Na janela de cdigo para o mdulo, digite o seguinte cdigo:
Sub DropDown_ComboBox()
UserForm1.ComboBox2.DropDown
End Sub
Sobre o Inserir menu, clique emUserForm Para inserir um formulrio de usurio em sua
pasta de trabalho.
Adicione um controle ComboBox para o UserForm.
No Propriedades para ComboBox1, digite Sheet1!A1: A5 como oOrigemDaLinha
propriedade.
Clique duas vezes o Caixa de combinao controle para abrir a janela de cdigo para o
controle ComboBox .
Na janela de cdigo para o controle ComboBox , digite o seguinte cdigo para o evento
Click de ComboBox :
Private Sub ComboBox1_Click()
Application.OnTime Now, "DropDown_ComboBox"
End Sub
Adicione um segundo controle ComboBox para o UserForm.
No Propriedades para ComboBox2, digite Sheet1!A6:A10 como oOrigemDaLinha
propriedade.
Sobre o Executar menu, clique em Executar Sub/UserForm.
Quando voc clica em um item na lista ComboBox1 , a lista de ComboBox2 aparece
automaticamente.
Para obter informaes adicionais sobre o controle ComboBox, clique nos nmeros
abaixo para ler o artigos na Base de dados de Conhecimento da Microsoft:
161598
(http://support.microsoft.com/kb/161598/ )
OFF: Como adicionar dados a um ComboBox ou ListBox no Excel ou Word
211446
(http://support.microsoft.com/kb/211446/ )
XL2000: A propriedade TextColumn exibe a primeira coluna
211899
(http://support.microsoft.com/kb/211899/ )
XL2000: Problemas definir cabealhos de coluna no controle ListBox
213717
(http://support.microsoft.com/kb/213717/ )
XL2000: Erro de tempo de execuo usando o mtodo DropDown com um ComboBox
213718
(http://support.microsoft.com/kb/213718/ )
XL2000: Como exibir uma lista de caixa de combinao quando um UserForm,
exibida
213721
(http://support.microsoft.com/kb/213721/ )
XL2000: Como remover todos os itens de um ListBox ou ComboBox
213722
(http://support.microsoft.com/kb/213722/ )
XL2000: Como utilizar a propriedade TextColumn
213752
(http://support.microsoft.com/kb/213752/ )
XL2000: Usar o mtodo AddItem causa um erro quando dados OrigemDaLinha est
vinculado
213756
(http://support.microsoft.com/kb/213756/ )
XL2000: Usando o mtodo RemoveItem com controle ListBox ou ComboBox
Controle de quadro
Use um controle de quadro para agrupar itens relacionados logicamente em um
UserForm. Controles Frame so freqentemente usados para agrupar controles
OptionButton .
Como efetuar um loop em todos os controles em um controle Frame
Para usar um para cada um...Prxima loop para acessar todos os controles em um
controle de quadro , siga estas etapas:
Inicie o Excel e, em seguida, abra uma nova pasta de trabalho em branco.
Sobre o Ferramentas aponte paraMacroe, em seguida, clique em Visual Basic Editor.
Sobre o Inserir menu, clique emUserForm Para inserir um formulrio de usurio em sua
pasta de trabalho.
Adicione um controle de quadro para o formulrio de usurio.
Adicione um controle OptionButton para o controle do quadro .
Repita essa etapa para adicionar dois controles OptionButton mais no controle do
quadro .
Clique duas vezes o Quadro controle para abrir o Janela de cdigo para o controle do
quadro .
Na janela cdigo, digite o seguinte cdigo para o evento Click de quadro :
Private Sub Frame1_Click()
End Sub
Sobre o Executar menu, clique em Executar Sub/UserForm.
No UserForm, clique no Quadrocontrole.
Na primeira vez que voc clicar no controle de quadro , todos os controles no quadro de
controle esto disponveis. Se voc clicar na Quadrocontrole novamente, os controles
esto disponveis novamente.
Controle OptionButton
Voc pode usar grupos de controles OptionButton fazer uma seleo entre um grupo
de opes. Voc pode Use qualquer uma das seguintes tcnicas para agrupar
OptionButton controles:
Controle de quadro
Propriedade GroupName
Observao O valor no , o valor Sim e o valor True indicam que um OptionButton
selecionado. O valor desativado , o valor no e o valor False indicam que um
OptionButton no est selecionada.
Como determinar o controle OptionButton selecionado quando os controles
OptionButton esto em um controle Frame
Ao agrupar controles Botesdeopo usando um controle de quadro , voc pode
determinar que selecionado por um loop em todos os controles no controle
OptionButton o controle de quadro e verificando a propriedade Value de cada controle.
Para determinar o controle OptionButton selecionada, siga estas etapas:
Inicie o Excel e, em seguida, abra uma nova pasta de trabalho em branco.
Sobre o Ferramentas aponte paraMacroe, em seguida, clique em Visual Basic Editor.
Sobre o Inserir menu, clique emUserForm Para inserir um formulrio de usurio em sua
pasta de trabalho.
Adicione um controle de quadro para o formulrio de usurio.
Adicione um controle OptionButton para o controle do quadro .
Repita essa etapa para adicionar dois controles OptionButton mais no controle do
quadro .
Adicione um controle CommandButton no UserForm fora do controle do quadro .
Clique duas vezes o CommandButton o controle para Exiba a janela de cdigo para o
UserForm.
Na janela cdigo, digite o seguinte cdigo para o evento Click CommandButton1 :
Private Sub CommandButton1_Click()
End Sub
Sobre o Executar menu, clique em Executar Sub/UserForm.
No UserForm, clique em um controle OptionButton e, em seguida, clique
emCommandButton1.
Ser exibida uma caixa de mensagem que contm a legenda do atualmente controle
OptionButton selecionado.
Como determinar o controle OptionButton selecionada
O objetivo do exemplo a seguir determinar o controle OptionButton selecionada no
Grupo1. Para criar um UserForm tem dois grupos de controles OptionButton , siga estas
etapas:
Inicie o Excel e, em seguida, abra uma nova pasta de trabalho em branco.
Sobre o Ferramentas aponte paraMacroe, em seguida, clique em Visual Basic Editor.
Sobre o Inserir menu, clique emUserForm Para inserir um formulrio de usurio em sua
pasta de trabalho.
Adicione um controle de quadro para o formulrio de usurio.
Adicione um controle OptionButton no controle do quadro .
Repita essa etapa para adicionar dois controles OptionButton mais no controle do
quadro .
Para cada controle OptionButton , digite Grupo1 na propriedade GroupName .
Repita as etapas 4 e 5 para criar um segundo controle de quadro que contm trs
controles OptionButton .
Para cada controle OptionButton no segundo controle de quadro , digite Grupo2 na
propriedade GroupName .
Adicione um controle CommandButton no UserForm fora os controles de quadro .
Clique duas vezes o CommandButton o controle para Exiba a janela de cdigo para o
UserForm.
Na janela cdigo, digite o seguinte cdigo para o evento Click CommandButton1 :
Private Sub CommandButton1_Click()
Dim x As Control
End Sub
Sobre o Executar menu, clique em Executar Sub/UserForm.
No UserForm, clique em um controle OptionButton no Grupo1 e, em seguida, clique
emCommandButton1.
Aparece uma caixa de mensagem que contm a legenda do controle OptionButton que
est selecionado no momento.
Observao O valor no , o valor Sim e o valor True indicam que um controle de caixa
de seleo est selecionado. O valor desativado , o valor no e o valor False indicam
que um controle de caixa de seleo est desmarcado.
Como verificar o valor de um controle CheckBox
Para usar a propriedade Value para retornar o valor atual de um controle de caixa de
seleo , siga estas etapas:
Inicie o Excel e, em seguida, abra uma nova pasta de trabalho em branco.
Sobre o Ferramentas aponte paraMacroe, em seguida, clique em Visual Basic Editor.
Sobre o Inserir menu, clique emUserForm Para inserir um formulrio de usurio em sua
pasta de trabalho.
Adicione um controle de caixa de seleo para o UserForm.
Na lista de propriedades para CheckBox1, selecione True como a propriedade
TripleState .
Clique duas vezes o Caixa de seleo o controle para Exiba a janela de cdigo para o
controle de caixa de seleo .
Na janela cdigo, digite o seguinte cdigo para o evento Change de CheckBox1 :
Private Sub CheckBox1_Change()
End Sub
Sobre o Executar menu, clique em Executar Sub/UserForm.
Quando voc clica no Caixa de seleo controle, o legenda do controle caixa de seleo
se altera para refletir o valor atual.
Controle ToggleButton
Um controle ToggleButton tem a mesma aparncia como um controle
CommandButton at que voc clicar nele. Quando voc clica em um controle
ToggleButton , ele parece ser pressionado ou empurrado para baixo. A propriedade
Value de um controle ToggleButton Falso e Verdadeiro quando o boto selecionado
quando o boto no estiver selecionado. Se o valor da propriedade TripleState for
Verdadeiro, um controle ToggleButton tambm pode ter um valor Null. Um controle
ToggleButton que tem um valor Nulo parece no estar disponvel.
End Sub
Sobre o Executar menu, clique em Executar Sub/UserForm.
Quando voc clica no controle ToggleButton , a cor de plano de fundo das alteraes
UserForm.
Como criar um grupo de controles ToggleButton mutuamente exclusivos
Este exemplo usa o evento MouseUp para definir uma varivel e chama o
procedimento ExclusiveToggleButtons . O procedimento ExclusiveToggleButtons
determina o controle ToggleButton que est selecionado e, em seguida, cancela a outras
pessoas. Para criar um grupo de controles ToggleButton mutuamente exclusivos, siga
estas etapas:
Inicie o Excel e, em seguida, abra uma nova pasta de trabalho em branco.
Sobre o Ferramentas aponte paraMacroe, em seguida, clique em Visual Basic Editor.
Sobre o Inserir menu, clique emMdulo.
Na janela de cdigo para o mdulo, digite o seguinte cdigo:
' Variable that holds the name of the ToggleButton that was clicked.
Public clicked As String
Sub ExclusiveToggleButtons()
End Sub
Sobre o Inserir menu, clique emUserForm Para inserir um formulrio de usurio em sua
pasta de trabalho.
Adicione um controle de quadro para o formulrio de usurio.
Adicione um controle ToggleButton no controle do quadro .
Repita essa etapa para adicionar dois controles ToggleButton mais no controle do
quadro .
Clique duas vezes o Quadro controle para exibir a janela de cdigo para o UserForm.
Na janela de cdigo para o mdulo, digite o cdigo a seguir para o evento ToggleButton
MouseUp :
Private Sub ToggleButton1_MouseUp(ByVal Button As Integer, _
ByVal Shift As Integer, ByVal X As Single, ByVal Y As Single)
clicked = ToggleButton1.Name
Application.OnTime Now, "ExclusiveToggleButtons"
End Sub
clicked = ToggleButton2.Name
Application.OnTime Now, "ExclusiveToggleButtons"
End Sub
clicked = ToggleButton3.Name
Application.OnTime Now, "ExclusiveToggleButtons"
End Sub
Sobre o Executar menu, clique em Executar Sub/UserForm.
Quando voc clica em um controle ToggleButton , controle ToggleButton anteriormente
selecionado ser cancelado.
Controle TabStrip
Use um controle TabStrip para exibir diferentes conjuntos de informaes para um
conjunto de controles.
Como controlar programaticamente a um controle TabStrip
Para alterar a propriedade BackColor de um controle de imagem com base na guia
selecionada, siga estas etapas:
Inicie o Excel e, em seguida, abra uma nova pasta de trabalho em branco.
Sobre o Ferramentas aponte paraMacroe, em seguida, clique em Editor do Visual Basic.
Sobre o Inserir menu, clique emUserForm Para inserir um formulrio de usurio em sua
pasta de trabalho.
Adicione um controle TabStrip UserForm.
Adicionar um controle de imagem que abrange a base do controle TabStrip , mas que
no cobre as guias.
No painel Propriedades Image1, digite& H000000FF & na propriedade BackColor .
Clique duas vezes o TabStrip controle para abrir a janela de cdigo para o controle
TabStrip .
Na janela cdigo, digite o seguinte cdigo para o evento Change TabStrip1 :
Private Sub TabStrip1_Change()
Dim i As Integer
i = TabStrip1.SelectedItem.Index
Select Case i
Case 0
' If Tab1 is selected, change the color of Image control to Red.
Image1.BackColor = RGB(255, 0, 0)
Case 1
' If Tab2 is selected, change the color of Image control to Green.
Image1.BackColor = RGB(0, 255, 0)
End Select
End Sub
Sobre o Executar menu, clique em Executar Sub/UserForm.
A cor das alteraes de controle de imagem dependendo da pgina no controle TabStrip
que est ativa.
Para obter informaes adicionais sobre o TabStrip controle, clique no nmero abaixo
para ler o artigo na Base de dados de Conhecimento da Microsoft:
213254
(http://support.microsoft.com/kb/213254/ )
XL2000: Como usar o controle TabStrip em um UserForm
Controle multiPage
Usar um controle MultiPage para trabalhar com uma grande quantidade de
informaes que podem ser classificadas em vrias categorias. Um controle MultiPage
composto por um ou mais pgina objetos que cada um contm um conjunto diferente de
controles. Voc pode Defina a pgina ativa por meio de programao, definindo a
propriedade Value do controle MultiPage .
Como controlar programaticamente a um controle MultiPage
Para adicionar um controle MultiPage e control-la usando uma macro, siga estas
etapas:
Inicie o Excel e, em seguida, abra uma nova pasta de trabalho em branco.
Sobre o Ferramentas aponte paraMacroe, em seguida, clique em Visual Basic Editor.
Sobre o Inserir menu, clique emUserForm Para inserir um formulrio de usurio em sua
pasta de trabalho.
Adicione um controle MultiPage UserForm.
Adicione um controle Label para Pgina1 no controle MultiPage .
Adicione um controle TextBox para Pgina1 no controle MultiPage .
No controle MultiPage , clique em Pgina2e, em seguida, repita as etapas 5 e 6 para
adicionar um controle Label e um controle TextBox .
Clique duas vezes o MultiPage controle para abrir a janela de cdigo para o controle
MultiPage .
Na janela cdigo, digite o seguinte cdigo para o evento Change MultiPage1 :
Private Sub MultiPage1_Change()
End Sub
Na janela cdigo, digite o seguinte cdigo para o evento Initialize do formulrio de
usurio :
Private Sub UserForm_Initialize()
End Sub
Sobre o Executar menu, clique em Executar Sub/UserForm.
No controle TextBox na Pgina1, digite Teste. Quando voc Clique no Pgina2 guia,
TextBox2 est desmarcada e a legenda do Label2 muda para a entrada que voc fez em
TextBox1 na Pgina1 ("teste").
Como criar uma interface de assistente utilizando um controle MultiPage
Quando uma tarefa requer vrias etapas incrementais, uma interface de Assistente
pode ser muito eficaz. Voc pode usar o controle MultiPage para criar uma interface de
assistente em vez de usar vrios UserForms. Este exemplo manipula um controle
MultiPage que tem trs pginas. Um procedimento que est associado a Evento
Initialize do UserForm desativa Page2 e Page3 e fora Pgina1 do controle MultiPage
esteja ativo.
With MultiPage1
' The next 2 lines disable Page2 & Page3.
.Pages(1).Enabled = False
.Pages(2).Enabled = False
' Make Page1 the active page.
.Value = 0
End With
End Sub
' Procedure for the "<Back" button
Private Sub CommandButton1_Click()
Select Case MultiPage1.Value
Case 1 ' If Page2 is active...
With MultiPage1
.Pages(0).Enabled = True ' Enable Page1.
.Value = MultiPage1.Value - 1 ' Move back 1 page.
.Pages(1).Enabled = False ' Disable Page2.
End With
CommandButton1.Enabled = False ' Disable Back button.
End Sub
End Sub
Sobre o Executar menu, clique em Executar Sub/UserForm.
Quando voc clica em Prxima >Pgina2 ativado e o <> boto ficar disponvel.
Quando voc clica em Prxima > uma segunda vez, Page3 ativado e a legenda
CommandButton2 alteraes em "Concluir".
Controle ScrollBar
Voc pode usar um controle de barra de rolagem quando voc deseja alterar o valor
exibido pelo outro controle, como um controle Label .
Como alterar um controle de rtulo que baseado no valor de um controle de barra de
rolagem
Para alterar a propriedade Caption de um controle Label para a configurao atual da
propriedade Value de um controle de barra de rolagem , siga estas etapas:
Inicie o Excel e, em seguida, abra uma nova pasta de trabalho em branco.
Sobre o Ferramentas aponte paraMacroe, em seguida, clique em Visual Basic Editor.
Sobre o Inserir menu, clique emUserForm Para inserir um formulrio de usurio em sua
pasta de trabalho.
Adicione um controle de barra de rolagem ao UserForm.
Adicione um controle Label para o formulrio de usurio.
Clique duas vezes o Barra de rolagem controle para abrir a janela de cdigo para o
controle de barra de rolagem .
Na janela cdigo, digite o seguinte cdigo para o evento Change ScrollBar1 :
Private Sub ScrollBar1_Change()
Label1.Caption = ScrollBar1.Value
End Sub
Sobre o Executar menu, clique em Executar Sub/UserForm.
Quando voc rola por meio do controle de barra de rolagem , Label1 atualizado com o
valor atual do controle ScrollBar .
Controle SpinButton
Um controle SpinButton , como um controle de barra de rolagem , freqentemente
usado para incrementar ou decrementar a valor de outro controle, como um controle
Label . A propriedade SmallChange determina quanto o valor de um controle
SpinButton muda quando ele for clicado.
Como adicionar um controlo de SpinButton aumenta ou diminui a data em que
armazenado em um controle TextBox
Para adicionar um controle SpinButton que incrementa ou decrementa uma data que
armazenado em um controle TextBox , siga estas etapas:
Inicie o Excel e, em seguida, abra uma nova pasta de trabalho em branco.
Sobre o Ferramentas aponte paraMacroe, em seguida, clique em Visual Basic Editor.
Sobre o Inserir menu, clique emUserForm Para inserir um formulrio de usurio em sua
pasta de trabalho.
Adicione um controle SpinButton UserForm.
Adicione um controle TextBox para o formulrio de usurio.
Clique duas vezes o SpinButton o controle para Abra a janela de cdigo para o controle
SpinButton .
Na janela cdigo, digite o seguinte cdigo para o evento SpinButton1 SpinUp :
Private Sub SpinButton1_SpinUp()
TextBox1.Text = DateValue(TextBox1.Text) + 1
End Sub
Na janela cdigo, digite o seguinte cdigo para o evento SpinButton1 SpinDown :
Private Sub SpinButton1_SpinDown()
TextBox1.Text = DateValue(TextBox1.Text) - 1
End Sub
Na janela cdigo, digite o seguinte cdigo para o evento Initialize do formulrio de
usurio :
Private Sub UserForm_Initialize()
TextBox1.Text = Date
End Sub
Sobre o Executar menu, clique em Executar Sub/UserForm.
Quando o formulrio de usurio for exibida, a data atual exibida em TextBox1.
Quando voc clica no controle SpinButton , a data incrementado ou diminudo por um
dia.
Para obter informaes adicionais sobre SpinButton controle, clique no nmero abaixo
para ler o artigo na Base de dados de Conhecimento da Microsoft:
213224
(http://support.microsoft.com/kb/213224/ )
XL2000: exemplo de Visual Basic para usar um boto de rotao com uma data
Controle RefEdit
O controle RefEdit simula o comportamento das caixas de referncia so
incorporadas no Excel. Voc pode usar a propriedade Value para obter o endereo da
clula atual que so armazenados em um controle RefEdit .
Como preencher um intervalo de clulas com base no intervalo que voc selecionar
usando o controle RefEdit
Para usar o controle RefEdit para preencher as clulas, execute estas etapas:
Inicie o Excel e, em seguida, abra uma nova pasta de trabalho em branco.
Sobre o Ferramentas aponte paraMacroe, em seguida, clique em Visual Basic Editor.
Sobre o Inserir menu, clique emUserForm Para inserir um formulrio de usurio em sua
pasta de trabalho.
Adicione um controle RefEdit UserForm.
Adicione um controle CommandButton para UserForm.
Clique duas vezes o CommandButton o controle para Abra a janela de cdigo para o
controle CommandButton .
Na janela cdigo, digite o seguinte cdigo para o evento Click CommandButton1 :
Private Sub CommandButton1_Click()
O UserFormappears.
Clique no boto no controle RefEdit .
Para informaes adicionais sobre o controle RefEdit, clique no seguinte artigo nmero
para ler o artigo na Base de dados de Conhecimento da Microsoft:
213776
(http://support.microsoft.com/kb/213776/ )
XL2000: Como usar o controle RefEdit com um UserForm
Controle de imagem
a finalidade do controle de imagem exibir uma imagem em um UserForm. Para
atribuir um imagem em um controle de imagem em tempo de execuo, use a funo
LoadPicture .
Como carregar uma imagem em um controle de imagem
Para inserir um controle de imagem que solicita que voc selecione uma imagem
para carregar quando voc Clique no controle de imagem , siga estas etapas:
Inicie o Excel e, em seguida, abra uma nova pasta de trabalho em branco.
Sobre o Ferramentas aponte paraMacroe, em seguida, clique em Visual Basic Editor.
Sobre o Inserir menu, clique emUserForm Para inserir um formulrio de usurio em sua
pasta de trabalho.
Adicione um controle de imagem no UserForm.
Clique duas vezes o Imagem controle para abrir o Janela de cdigo para o controle de
imagem .
Na janela cdigo, digite o seguinte cdigo para o evento Click Image1 :
Private Sub Image1_Click()
O UserForm aparece.
Clique no Imagem controle.