Caixa de seleção na lista suspensa

0

Eu tenho uma tabela no Excel onde posso selecionar vários itens de uma lista suspensa em uma célula.

Agora, usando minha macro, eu tenho que escolher todas as opções separadamente, e elas são adicionadas a uma célula, uma por uma.

Existe a possibilidade de escrever a macro que adiciona caixas de seleção à lista suspensa, para que eu possa verificar os itens que quero adicionar e eles serão adicionados simultaneamente?

    
por Padrick22 23.12.2013 / 12:40

3 respostas

0

Sim, você pode adicionar uma caixa de listagem de formulário e permitir várias seleções. Confira aqui para suporte de MS.

VBA - verifique o este thread do stackoverflow

    
por 23.12.2013 / 13:19
0

Ok, usei este código para o Listbox:

Dim lngItem As Long
Const strSep = ", " 'delimiter

Private Sub UserForm_Initialize()
With ListBox1
    .RowSource = "=Sheet1!A2:A12"
    For lngItem = 0 To ListBox1.ListCount - 1
        .Selected(lngItem) = InStr(1, strSep & ActiveCell.Value & strSep, strSep & .List(lngItem, 0) & strSep)
    Next lngItem
End With
End Sub

Private Sub CommandButton1_Click()
Dim strItems As String
With ListBox1
    For lngItem = 0 To ListBox1.ListCount - 1
        If ListBox1.Selected(lngItem) Then
            strItems = strItems & strSep & ListBox1.List(lngItem, 0)
        End If
    Next lngItem
End With
With ActiveCell
    .NumberFormat = "@"
    .Value = Replace(strItems, strSep, "", 1, 1)
End With
Unload Me
End Sub

e este para seleção de colunas:

Private Sub Worksheet_BeforeDoubleClick(ByVal Target As Range, Cancel As Boolean)
If Target.Column <> 3 Or Target.Row = 1 Then Exit Sub
UserForm1.Show
Cancel = True
End Sub

Funciona muito bem, mas eu gostaria de mudar uma coisa.

No momento, a caixa de listagem aparece depois de clicar duas vezes na célula. Existe a possibilidade de fazer apenas um clique? Também pode ser alterado para que a caixa de listagem seja sempre mostrada abaixo da célula selecionada?

    
por 02.01.2014 / 15:00
-1

Se você olhar para a imagem anexada, saberá que é assim que a solução perfeita é. Usando chekboxes dentro de caixas de listagem.

Façaodownloaddocódigo: link

    
por 21.11.2017 / 14:56