![<script> <script>](https://escola.saberexcel.com.br/wp-content/uploads/2021/03/image.gif)
![<script> <script>](https://escola.saberexcel.com.br/wp-content/uploads/2021/03/image-1.gif)
E xcel VBA Planilha duplicados chama função verifica Este Macro do aplicativo ms Excel vba chama uma função através de uma instrução for e verifica se existe ou não duplicados em determinado intervalo de células nas linhas, e retorna se existe ou não duplicados.
‘Função duplicados verifica se há duplicados
Public Function sbDuplicados(ByVal vRng As Range, ByRef bDuplicados As Variant, _
ByRef bUnico As Variant) As Variant
‘Variáveis determinantes
Dim vCelula As Range
Dim vQuantidade As Long
Dim vUnicos As New Collection
‘Essa intrução passa para o próximo passo se ocorrer erro
On Error Resume Next
‘ao recalcular qualquer dados na folha de planilha recalcula
‘Application.Volatile
‘verifica o intervalo e quantidade de células existentes
vQuantidade = vRng.Rows.Count * vRng.Columns.Count
‘Faz um loop (For Each) em todas as células da Area especifica
For Each vCelula In vRng
‘passará para o próximo, se a verificação caso houver duplicidade.
vUnicos.Add vCelula.Value, CStr(vCelula.Value)
Next vCelula
On Error GoTo 0
If vQuantidade > vUnicos.Count Then
sbDuplicados = bUnico
Else
sbDuplicados = bDuplicados
End If
End Function
Sub sbx_chamar_funcao()
Dim i As Long
sbx_inserir_aletorios_teste
x = Cells(Rows.Count, “c”).End(xlUp).Row
For i = 5 To Cells(Rows.Count, “c”).End(xlUp).Row
‘Cells(i, “k”) = sbDuplicados(Range(“c” & i & “:” & “G” & x), “Duplicados”, “Unicos”)
Cells(i, “k”) = sbDuplicados(Range(Cells(i, “c”), Cells(i, “g”)), “Unicos”, “Duplicados”)
If Cells(i, “k”).Value = “Unicos” Then
Cells(i, “k”).Interior.ColorIndex = 4
Else
Cells(i, “k”).Interior.ColorIndex = 6
End If
Next i
[C1].Select
End Sub
Sub sbx_inserir_aletorios_teste()
Dim vCol, vLin As Long
Application.EnableEvents = False
For vCol = 3 To 7
For vLin = 5 To Cells(Rows.Count, “a”).End(xlUp).Row
Cells(vLin, vCol).Select
Cells(vLin, vCol).Value = Int(15 * Rnd)
Next vLin
Next vCol
End Sub
Sub sbx_limpar_teste()
Dim i As Long
x = Cells(Rows.Count, “a”).End(xlUp).Row + 1 ‘ +1 para nao apagar o cabeçalho se o usuário repetir com área limpa
Range(Cells(5, “k”), Cells(x, “k”)).ClearContents
Range(Cells(5, “k”), Cells(x – 1, “k”)).Interior.ColorIndex = xlNone
End Sub
![](https://escola.saberexcel.com.br/wp-content/uploads/2013/08/linazul.jpg)
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.
Adquira o Curso Excel VBA Expert – Escola SaberExcel VBA Estudos |
Comprar pelo PagSeguro | Comprar pelo PayPal | |
![]() |
![]() |
|
Relação do Curso Excel VBA Expert – Escola SaberExcel VBA Estudos |
![]() |
![]() |
![]() |
<< Link Download: Verifique também a Caixa de Itens Excluídos >> |