Planilha Excel VBA concatenar células com delimitador função critério

 

Planilha Excel VBA userform labels desabilitar habilitar todos

Planilha Excel VBA concatenar células com delimitador função critério

Planilha Excel VBA concatenar células com delimitador função critério

Estes macros do aplicativo Microsoft Excel VBA(Visual Basic Application), chama uma uma Função Personalizada, que normalmente é usada como fórmulas, e, concatena dados de diversas colunas específicas com auxilio de
uma instrução For Next e Condição IF podemos chamar uma função com muita facilidade, melhorando substancialmente a performance de seu código.  Também aproveitei a oportunidade para adicionar um código, com intuito de treinamento com vba, para concatenar os dados das (linhas/colunas) especificas na célula Ativa.
Espero que o exemplo possa ser útil para o seu treinamento. Fique com Deus, Expedito Marcondes.
‘//==============’


‘Escola saberexcel vba estudos®

Sub sbx_chamando_funcao_criterio()
x = Cells(Rows.Count, “c”).End(xlUp).Row ‘+ 1
Range(Cells(2, “i”), Cells(x, “i”)).Interior.ColorIndex = xlNone
Range(Cells(2, “i”), Cells(x, “i”)).ClearContents
For i = 2 To Cells(Rows.Count, “c”).End(xlUp).Row
If Cells(i, “g”).Value = “NÃO” Then
Cells(i, “i”).Value = “‘/=======SBX========='”  ‘aqui poderá inserir seu código satisfazendo criterio NÃO
With Cells(i, “i”)
.Interior.ColorIndex = 36
.Font.ColorIndex = 10
.Font.Size = 9
End With
Else
Cells(i, “i”).Value = ConcatenarB(Range(“C” & i & “:” & “E” & i), “|”)
With Cells(i, “i”)
.Interior.ColorIndex = 4
.Font.ColorIndex = 9
.Font.Size = 9
End With
End If
Next i
End Sub
‘//==============’
Sub sbx_inserir_somente_em_uma_linha()
ActiveCell.Value = ConcatenarB(Range((ActiveCell.Offset(0, -6).Address) & “:” & ActiveCell.Offset(0, 4).Address), “|”)
End Sub
Sub sbx_limpar_teste()
x = Cells(Rows.Count, “c”).End(xlUp).Row + 1
Range(Cells(2, “i”), Cells(x – 1, “i”)).Interior.ColorIndex = xlNone
Range(Cells(2, “i”), Cells(x – 1, “i”)).ClearContents
MsgBox (“Dados foram deletados com sucesso para teste…”), vbInformation, “Escola Saberexcel VBA Estudos®”
End Sub
‘//==============’FUNCÃO ConcatenarB (com delimitador)
‘se fossemos usá-la como fórmula na célula na folha de planilha usariamos algo assim, usariamos uma formula assim:
=ConcatenarB(C2:G2;”|”)
‘Resultado seria………………:   Saberexcel|100000-01|NÃO
‘//=====’
‘Ai fizemos o macro com a linha de código para chamar a função sem precisarmos de fórmulas:
‘veja acima: Cells(i, “i”).Value = ConcatenarB(Range(“C” & i & “:” & “E” & i), “|”)   – tem exemplos nas Video_Aulas

Function ConcatenarB(sbRange As Range, _
Optional Demilitador As String = “|”)
On Error GoTo SBX
Dim r As Range
Dim Concatenar As String
Application.Volatile

For Each r In sbRange
If Len(r.Text) > 0 Then
Concatenar = Concatenar & r & Demilitador
End If
Next r

If Len(Demilitador) > 0 Then
Concatenar = Left(Concatenar, Len(Concatenar) – Len(Demilitador))
End If

ConcatenarB = Concatenar

Exit Function
SBX: MsgBox “Deve selecionar célula ativa na coluna(i)”, vbInformation, “Escola Saberexcel VBA Estudos®”
End Function

 


Aprenda tudo sobre planilhas do Aplicativo Microsoft Excel VBA(Visual Basic Application), sozinho, com baixo custo, praticando com os produtos didáticos Escola SaberExcel VBA Estudos® – Treinamentos com Macros, Fórmulas e Funções.
Compre pelo PagSeguro Compre pelo PayPal
excel-vba-treinamento-pagseguro
 Material Didático: Curso Excel VBA Expert 
excel vba treinamentos planilhas
 Baixe o exemplo de planilha contendo os macros acima:
iconPlanilha Excel VBA concatenar células com delimitador função critério

    iconPlanilha Excel VBA concatenar células com delimitador função critério

    Deixe um comentário

    O seu endereço de e-mail não será publicado. Campos obrigatórios são marcados com *