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