Adiciona lista suspensa à célula e inclui seu valor inicial

0

Eu quero adicionar uma lista suspensa à célula A1 (que tem um valor de 2) A lista suspensa tem vários itens ("gatos", "cachorros", "macacos de queijo") Isso é fácil.

No entanto, desejo incluir o valor da célula inicial (2) como parte da lista dinamicamente. Então deve ficar assim:

2
cats
dogs
cheese monkeys

O valor superior (2) precisa ser alterado facilmente (como uma célula normal) e ainda incluir os outros estados (não dinâmicos) também.

Isso precisa ser feito sem a necessidade de adicionar células de referência "fantasmas" (ocultas) extras na planilha. Isso também precisa ser feito sem VBA / macros, pois o arquivo precisa ser .XLSX. Esta célula normal / lista suspensa híbrida é possível?

    
por Mr Mystery Guest 08.10.2015 / 17:43

2 respostas

0

Onde sua lista é armazenada?

Se você deseja inserir os dados na célula A1 e sua lista é B1: B4, basta definir a fórmula em B1 para = A1 e você tem sua lista suspensa, incluindo o valor original. / p>

Não tenho certeza se isso se qualifica como uma célula fantasma, mas as listas geralmente são armazenadas em algum lugar da planilha.

Se você quiser apenas armazená-lo no popup de validação de dados, não acho que seja possível.

    
por 08.10.2015 / 18:20
0

Insira a seguinte Macro de eventos na área de código da planilha:

Private Sub Worksheet_Change(ByVal Target As Range)
If Intersect(Range("A1"), Target) Is Nothing Then Exit Sub
t = Target.Text & ","
t2 = t & "cats,dogs,cheeese monkeys"
Application.EnableEvents = False
With Target.Validation
        .Delete
        .Add Type:=xlValidateList, AlertStyle:=xlValidAlertStop, Operator:= _
        xlBetween, Formula1:=t2
        .IgnoreBlank = True
        .InCellDropdown = True
        .InputTitle = ""
        .ErrorTitle = ""
        .InputMessage = ""
        .ErrorMessage = ""
        .ShowInput = True
        .ShowError = False
End With
Application.EnableEvents = True
End Sub

Em seguida, insira um valor na célula A1 .

Por ser um código de planilha, é muito fácil de instalar e usar automaticamente:

  1. clique com o botão direito do mouse no nome da guia próximo à parte inferior da janela do Excel
  2. selecione Exibir código - isso abre uma janela do VBE
  3. cole o material e feche a janela do VBE

Se você tiver alguma dúvida, tente primeiro em uma planilha de teste.

Se você salvar a pasta de trabalho, a macro será salva com ela. Se você estiver usando uma versão do Excel posterior a 2003, deverá salvar o arquivo como .xlsm em vez de .xlsx

Para remover a macro:

  1. abrir as janelas do VBE como acima
  2. limpe o código
  3. feche a janela do VBE

Para saber mais sobre macros em geral, consulte:

link

e

link

Para saber mais sobre macros de eventos (código da planilha), consulte:

link

As macros devem estar ativadas para que isso funcione!

    
por 08.10.2015 / 19:02