excel caixa de combinação de preenchimento automático com evento de seleção

2

Eu tenho uma folha de excel para mantimentos. Uma coluna é o nome, outra é se a compra ou não (checkbox) e outra é a quantia.

Eu gostaria de ter um widget na linha superior para começar a digitar o nome de um item e mostrar uma lista de itens correspondentes que eu possa selecionar, ou se eu continuar a digitar e houver apenas um item, conclua seu nome. Quando o último item é selecionado, outros widgets mostram o valor, que eu posso editar e clicar em 'check' irá verificar o item na lista.

Eu sei que isso é muito específico, mas espero que alguém possa pelo menos me ajudar.

Obrigado Ittay

    
por IttayD 06.03.2010 / 19:41

2 respostas

1

Para sua lista de itens correspondentes, se você quiser completar automaticamente, precisará usar uma caixa de combinação + uma macro.

O primeiro passo é criar uma lista de mantimentos em sua planilha ou em outra planilha. Esta lista será usada para preencher o "widget". Você deve tornar essa lista Intervalo nomeado para tornar sua vida um pouco mais fácil depois.

Depois vem o seu "widget". Você não especificou qual versão do Excel você tem, então você vai precisar descobrir como adicionar um ActiveX Combobox para sua planilha.

Depois de fazer isso, você precisará abrir o Editor do Visual Basic - pressione Alt + F11 para fazer isso.

Na janela da esquerda, você verá VBAProject ([YourWorkbookName]) e a pasta sob ele chamada "Microsoft Excel Objects".

Expanda essa pasta para ver algo chamado ThisWorkbook . Clique duas vezes e, na janela da direita, coloque o seguinte código:

Private Sub Workbook_Open()
    Sheets("Sheet1").ComboBox1.List = _
      Application.WorksheetFunction.Transpose(Range("A1:A56"))
End Sub

Substituir:

  • ComboBox1 com o nome real da sua caixa de combinação (esse é o padrão para o primeiro inserido em uma pasta de trabalho)

  • Folha1 com o nome da sua folha atual

  • Range ("A1: A56") com a localização da sua lista de mantimentos. Se você tiver em outra folha, você pode dizer Sheets ("Sheet2"). Range ("A1: A56"). Se você deu ao intervalo um nome, como "Mercearia", você pode substituí-lo apenas por Range ("Mercearia") ( intervalos nomeados são globais).

O que isto faz é dizer ao Excel para preencher essa caixa de combinação com a lista que você diz quando abrir a pasta de trabalho (você pode verificar se funciona clicando no botão play na barra de ferramentas do VB Editor). Você precisará ter a opção para habilitar macros .

Tenho certeza de que isso vai mantê-lo ocupado por enquanto:)

    
por 26.07.2010 / 02:41
0

Eu criaria uma lista de itens que você geralmente compra em outra planilha e, em seguida, usa a validação de dados para colocar uma lista suspensa na coluna de itens com todos os itens.

    
por 09.03.2010 / 17:35