Criar uma lista dinâmica em uma caixa de diálogo personalizada

Traduções deste artigo Traduções deste artigo
ID do artigo: 129072 - Exibir os produtos aos quais esse artigo se aplica.
Este artigo foi arquivado. É oferecido "como está" e não será mais atualizado.
Expandir tudo | Recolher tudo

Neste artigo

Sumário

No Microsoft Excel, é possível criar uma lista dinâmica ou uma lista em uma caixa de diálogo personalizada que alterações com base em algum controle escolhido na caixa de diálogo, como um botão. O exemplo a seguir mostra como você pode alterar a lista que é exibida uma caixa de diálogo personalizada enquanto a caixa de diálogo ainda é exibida.

Mais Informações

Microsoft fornece exemplos de programação apenas para ilustração, sem garantia expressa ou implícita. Isso inclui, mas não está limitado a, garantias implícitas de comercialização ou adequação para uma finalidade específica. Este artigo presume que você está familiarizados com a linguagem de programação que está sendo demonstrada e com as ferramentas que são usadas para criar e depurar procedimentos. Engenheiros de suporte podem ajudar a explicar a funcionalidade de um determinado procedimento, mas eles não modificarão esses exemplos para fornecer funcionalidades adicionais ou construir procedimentos para atender às suas necessidades. Neste exemplo, a caixa de diálogo que você criar exibe uma lista vazia (controle de caixa de listagem) quando você executa a caixa de diálogo pela primeira vez. Quando você escolhe o botão de uma lista, uma lista de tipos diferentes de frutas é exibida na caixa de diálogo. Quando você escolhe o botão lista duas, uma lista das cores é exibido na caixa de diálogo.

Para criar a caixa de diálogo personalizada

  1. Para adicionar uma nova planilha de diálogo à sua pasta de trabalho, escolha macro a inserir menu e em seguida, escolha diálogo.
  2. Use a barra de ferramentas formulários para adicionar uma caixa de listagem e dois botões para sua caixa de diálogo.
  3. Digite o texto desejado apareça no botões personalizados, como lista um e Lista dois .
  4. Marque a caixa de lista. Na caixa Nome, digite a lista e pressione ENTER.
  5. Selecione um dos botões personalizados (não OK ou Cancelar) e escolha o objeto no menu ' Formatar '. Na caixa de diálogo Formatar objeto, selecione o controle guia e marque a caixa de seleção descartar e, em seguida, escolha OK.
  6. Repita a etapa 4 com o segundo botão personalizado.

Para inserir dados da planilha

  1. Em uma planilha na pasta de trabalho, digite as duas listas diferentes que você deseja exibir na caixa de diálogo. Por exemplo, digite o seguinte em Sheet1:
          A1: Apple    B1: Red
          A2: Orange   B2: White
          A3: Banana   B3: Blue
          A4: Pear     B4: Green
          A5: Grapes   B5: Yellow

Para criar um procedimento para executar a caixa de diálogo

  1. Inserir uma nova planilha de módulo em sua pasta de trabalho escolhendo macro no menu Inserir e, em seguida, escolhendo o módulo.
  2. No novo módulo, digite o seguinte:
          ' Dimension variables.
          Dim chosen As Integer, selected As Integer, MyList As Object
          Dim ListOneRange As String, ListTwoRange As String
    
          Sub Main()
             ' Set value of variable 'chosen' to 1.
             chosen = 1
    
             ' Assign value of variable 'MyList' to listbox in dialog box.
             Set MyList = Application.DialogSheets("Dialog1").ListBoxes("List")
    
             ' Define variable 'ListOneRange' as the cell range
             ' that contains your first list on the worksheet.
             ListOneRange = "Sheet1!$A$1:$A$5"
    
             ' Define variable 'ListTwoRange' as the cell range
             ' that contains your second list on the worksheet.
             ListTwoRange = "Sheet1!$B$1:$B$5"
    
             ' Initialize the list displayed in dialog box to be empty.
             MyList.ListFillRange = ""
    
             ' Loop to display the dialog box.
             ' Loop displays the dialog box until it is canceled.
             While chosen > 0
    
                show:
    
                ' Display the dialog box.
                DialogSheets("Dialog1").show
    
                ' If the value of 'chosen' is 1, the List One button was 
                ' chosen.
                If chosen = 1 Then
    
                   ' Set range to first list on worksheet
                   ' and display dialog box again.
                   MyList.ListFillRange = ListOneRange
                   GoTo show
    
                ' If the value of 'chosen' is 2, the List One button was 
                ' chosen.
                ElseIf chosen = 2 Then
    
                   ' Set range to second list on worksheet
                   ' and display dialog box again.
                   MyList.ListFillRange = ListTwoRange
                   GoTo show
    
                End If
    
             ' Repeat loop.
             Wend
    
          End Sub
    
          Sub OptionOne_Click()
    
             ' Set value of variable 'chosen' to 1.
             chosen = 1
    
          End Sub
    
          Sub OptionTwo_Click()
    
             ' Set value of variable 'chosen' to 2.
             chosen = 2
    
          End Sub
    
          Sub CancelChosen()
    
             ' Set value of variable 'chosen' to 0.
             chosen = 0
    
          End Sub
    
          Sub OKChosen()
    
             ' OK button was chosen.
             ' Set value of variable 'selected' to number
             ' corresponding to the item selected in the list.
             selected = MyList.ListIndex
    
             If selected = 0 Then
    
                ' Alert if no item is selected.
                MsgBox "nothing selected"
    
             Else
    
                ' Display selected item in message box.
                MsgBox MyList.List(selected)
    
             End If
    
          End Sub
    						
  3. Selecione a guia da planilha de diálogo. No quadro de diálogo, selecione o botão OK e escolha Atribuir macro no menu Ferramentas. Da macro de lista de nome/de referência, selecione OKChosen e escolha OK.
  4. Selecione o botão Cancelar e escolha Atribuir macro no menu Ferramentas. Na lista Nome de macro/referência, selecione CancelChosen e escolha OK.
  5. Selecione o primeiro botão personalizado (lista um neste exemplo) e escolha Atribuir macro no menu Ferramentas. Na lista Nome de macro/referência, selecione OptionOne_Click e escolha OK.
  6. Selecione o segundo botão personalizado (lista dois neste exemplo) e escolha Atribuir macro no menu Ferramentas. Na lista Nome de macro/referência, selecione OptionTwo_Click e escolha OK.
  7. Para exibir a caixa de diálogo, escolha macro no menu Ferramentas. Na lista Nome de macro/referência, selecione Main e escolha Run.
Quando você escolher o botão de uma lista na caixa de diálogo, a primeira lista, a lista de frutas é exibida. Quando você selecionar o botão lista dois, a segunda lista, lista de cores, é exibida. Quando você escolhe OK, uma caixa de diálogo aparece com o item selecionado na lista. Para fechar a caixa de diálogo personalizada, escolha Cancelar.

Referências

Para obter mais informações sobre o botão de propriedades do controle ou no botão caixa de listagem, escolha o botão Pesquisar na Ajuda e digite:
caixas de diálogo personalizadas, adicionando controles

Propriedades

ID do artigo: 129072 - Última revisão: sexta-feira, 13 de setembro de 2013 - Revisão: 2.3
A informação contida neste artigo aplica-se a:
  • Microsoft Excel 95 Standard Edition
  • Microsoft Excel 5.0c
  • Microsoft Excel 5.0a for Macintosh
Palavras-chave: 
kbnosurvey kbarchive kbmt kbcode kbhowto kbprogramming KB129072 KbMtpt
Tradução automática
IMPORTANTE: Este artigo foi traduzido por um sistema de tradução automática (também designado por Machine Translation ou MT), não tendo sido portanto traduzido ou revisto por pessoas. A Microsoft possui artigos traduzidos por aplicações (MT) e artigos traduzidos por tradutores profissionais, com o objetivo de oferecer em português a totalidade dos artigos existentes na base de dados de suporte. No entanto, a tradução automática não é sempre perfeita, podendo conter erros de vocabulário, sintaxe ou gramática. A Microsoft não é responsável por incoerências, erros ou prejuízos ocorridos em decorrência da utilização dos artigos MT por parte dos nossos clientes. A Microsoft realiza atualizações freqüentes ao software de tradução automática (MT). Obrigado.
Clique aqui para ver a versão em Inglês deste artigo: 129072

Contact us for more help

Contact us for more help
Connect with Answer Desk for expert help.
Get more support from smallbusiness.support.microsoft.com