Objetivo: Adicionar itens a partir de uma lista no Excel VBA. Á partir da validação de dados com lista, adicionar vários itens em uma mesma célula.
O exemplo deste artigo demonstra como podemos utilizar o código VBA para fazer adicionar vários itens em uma mesma célula, a partir de uma lista de validação de dados.
Veja a imagem:
Como pode notar, o código faz com que a partir das seleções realizadas, o sistema inclua os dados selecionados, não substituindo os dados anteriores.
Abaixo o código fonte utilizado, ele deve ser utilizado no código fonte da planilha em que houverem as listas de validações que tenham este tipo de inclusão.
Veja neste artigo como habilitar a guia desenvolvedor e copiar códigos da internet: http://guiadoexcel.com.br/habilitando-a-guia-desenvolvedor-e-copiando-procedimentos-vba-sub-da-internet para realizar esta tarefa.
Abaixo o código fonte utilizado:
'Código para adicionar dados á uma seleção apartir de uma lista de validações.
Private Sub Worksheet_Change(ByVal Target As Range)
Dim rngDV As Range
Dim oldVal As String
Dim newVal As String
Dim strSep As String
strSep = ", "
Application.EnableEvents = False
On Error Resume Next
If Target.Count > 1 Then GoTo Sair
Set rngDV = Cells.SpecialCells(xlCellTypeAllValidation)
On Error GoTo Sair
If rngDV Is Nothing Then GoTo Sair
If Intersect(Target, rngDV) Is Nothing Then
'do nothing
Else
newVal = Target.Value
Application.Undo
oldVal = Target.Value
Target.Value = newVal
If newVal "" Then
If oldVal = "" Then
Target.Value = newVal
Else
Target.Value = oldVal & strSep & newVal
End If
End If
End If
Sair:
Application.EnableEvents = True
End Sub

Aqui o download do arquivo com o exemplo criado, gratuitamente como sempre =D.
Abraço
Marcos Rieper






