Excel - Identificar valores repetidos en varias pestañas

 
Vista:

Identificar valores repetidos en varias pestañas

Publicado por Giannina Causarano (2 intervenciones) el 09/10/2020 03:55:17
Buenas, tengo varias hojas de calculo con dos columnas: código y denominación. En las distintas pestañas podría haber códigos que repiten
Me podrían ayudar a armar una macro que recorra las distintas hojas y en una hoja "Resumen" me liste todos los códigos repetidos que encontró?
Valora esta pregunta
Me gusta: Está pregunta es útil y esta claraNo me gusta: Está pregunta no esta clara o no es útil
0
Responder
Imágen de perfil de David
Val: 211
Ha mantenido su posición en Excel (en relación al último mes)
Gráfica de Excel

Identificar valores repetidos en varias pestañas

Publicado por David (40 intervenciones) el 09/10/2020 04:44:43
Las columnas estan en la misma ubicacion en todas las hojas?
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

Identificar valores repetidos en varias pestañas

Publicado por Giannina (2 intervenciones) el 10/10/2020 01:06:38
Hola, si están en la misma ubicación todas las columnas pero no tienen el mismo rango de filas todas
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
1
Comentar
Imágen de perfil de David
Val: 211
Ha mantenido su posición en Excel (en relación al último mes)
Gráfica de Excel

Identificar valores repetidos en varias pestañas

Publicado por David (40 intervenciones) el 10/10/2020 17:20:48
Adjunto libro macros VBA, no olvides habilitar macros en tu excel.
Encontraras la hoja resumen y un botón en su interior "PROCESAR".

Este es el código (que ya esta implementado).
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
Sub Repetidos()
'@dj.vivanco'
 
Dim miDiccionario As Object
Set miDiccionario = CreateObject("Scripting.Dictionary")
 
Dim codigo As Range, hoja As Worksheet
 
rep = 1
 
'Limpio columnas'
Range("A2:A10000").ClearContents
 
For Each hoja In Worksheets
    If Not hoja.Name Like "Resumen" Then
        uf = hoja.Range("A" & Rows.Count).End(xlUp).Row
 
        For Each codigo In hoja.Range("A2:A" & uf)
 
            If codigo.Value <> vbNullString Then 'si hay datos continua:'
 
                If miDiccionario.Exists(codigo.Value) = False Then 'si no existe el codigo'
                    miDiccionario.Add codigo.Value, rep 'guardo codigo(key) y la repeticion(value)'
 
                Else:
                    If miDiccionario.Exists(codigo.Value) = True Then ' si existe el codigo'
                       miDiccionario(codigo.Value) = miDiccionario(codigo.Value) + rep 'solo sumo 1 al acumulado del value'
                    End If
                End If
             End If
        Next codigo
    End If
Next hoja
'--------------------------------------------------------------------------
'Recorro cada Key guardado del diccionario'
Dim K As Variant
 
i = 2 'empieza en fila 2'
 
For Each K In miDiccionario.Keys
    If miDiccionario(K) > 1 Then
        Cells(i, 1).Value = K
        i = i + 1
    End If
Next K
 
Set miDiccionario = Nothing ' libero diccionario'
 
End Sub


rep
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar
Imágen de perfil de wordexperto.com
Val: 6.373
Oro
Ha mantenido su posición en Excel (en relación al último mes)
Gráfica de Excel

Identificar valores repetidos en varias pestañas

Publicado por wordexperto.com (2803 intervenciones) el 10/10/2020 20:08:08
Hola a todos:
Giannina, no has pensado en ponerlos todos en la misma hoja y añadir una columna con el criterio que usas para dividir en hojas. Será muchísimo más fácil y eficiente. Una sola hoja para los datos, con las columnas que necesites y en otra hoja los informes o resúmenes con Tablas dinámicas. Sin macros ni fórmulas. Como diría Arguiñano: «Fácil, fácil y rico, rico».
https://www.youtube.com/playlist?list=PLF1OL9sNXkSyOJETR9ST8xjwjFj9WrkME
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar