Excel - Macro para eliminar codigo duplicado pistoleado

 
Vista:
sin imagen de perfil
Val: 6
Ha aumentado su posición en 2 puestos en Excel (en relación al último mes)
Gráfica de Excel

Macro para eliminar codigo duplicado pistoleado

Publicado por alejandro (3 intervenciones) el 06/11/2018 16:55:44
Estimados,

Mi consulta es simple, ¿como puedo eliminar valores duplicados en el instante que pistoleo con la barcodescan, y estos sean sumados como cantidad a la siguiente columna?

--------------------------------------------------------------------------------------------------
Còdigo Cantidad Comuna
50000323477 1 santiago
50000328342 1 vitacura
50000323477 1 santiago
50000323477 1 santiago

------------------------------Como deberia quedar --------------------------------------
Còdigo Cantidad Comuna
50000323477 3 santiago
50000328342 1 vitacura
---------------------------------------------------------------------------------------------------
Adjunto hoja de trabajo.

Ojalà me puedan ayudar a optimizar mi trabajo.
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 Andres Leonardo
Val: 3.136
Plata
Ha mantenido su posición en Excel (en relación al último mes)
Gráfica de Excel

Macro para eliminar codigo duplicado pistoleado

Publicado por Andres Leonardo (1583 intervenciones) el 06/11/2018 18:31:46
Primero es lo primero... deberias sacar una hoja donde los valores no esten repetidos....

luego podrias usar esto .... dependiendo del valor que te da... le sumas UNO a donde encontraste ... o en su defecto registras el valor...

la estoy mehjorando bajo de comer y lo hago


1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
Function FilaDelValor(Rng As Range, val As String) As Single 'devuelve la fila en la que se encuentra un valor
 
Dim fila As Single
Dim busco As Object
Set busco = Rng.Find(val)
FilaDelValor = busco.Row
 
End Function
 
 
Private Sub Worksheet_Change(ByVal Target As Range)
Dim fila As Long
    If Not Intersect(Target, Range("A:A")) Is Nothing Then
        fila = FilaDelValor(Range("A:A"), Target.Value)
        If fila > 0 Then
            Range("B" & fila).Value = Range("B" & fila).Value + 1
        Else
            UltimaCelda = ActiveSheet.Cells(Rows.Count, "A").End(xlUp).Row
            Range("A" & UltimaCelda + 1).Value = Target.Value
            Range("B" & fila).Value = Range("B" & fila).Value + 1
        End If
    End If
End Sub
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
2
Comentar
sin imagen de perfil
Val: 6
Ha aumentado su posición en 2 puestos en Excel (en relación al último mes)
Gráfica de Excel

Macro para eliminar codigo duplicado pistoleado

Publicado por alejandro (3 intervenciones) el 06/11/2018 18:49:37
Estimado Andres Leonardo ,

Gracias por su ayuda, pero "Primero es lo primero... deberias sacar una hoja donde los valores no esten repetidos...", no puedo realizar esta acciòn, ya que, mi trabajo consiste en pistolear codigos en bodega, y muchos de estos productos tienen los mismos codigos y yo necesito consolidarlos.

Su macro lo insterto en el codigo de la hoja y este funciona bien, pero lo que faltaria para concretar serìa eliminar el codigo repetido de la columna "A", dejando solo la cantidad.

Agradesco su pronta respuesta.
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 Andres Leonardo
Val: 3.136
Plata
Ha mantenido su posición en Excel (en relación al último mes)
Gráfica de Excel

Macro para eliminar codigo duplicado pistoleado

Publicado por Andres Leonardo (1583 intervenciones) el 06/11/2018 19:40:33
Es correcto

lo que me refiero que cuando Inicies ... la hoja no debe tener valores repetidos ... si no ya actualizados ....

Saludos


Prueba asi


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
Function FilaDelValor(Rng As Range, val As String) As Single 'devuelve la fila en la que se encuentra un valor
 
Dim fila As Single
Dim busco As Object
Set busco = Rng.Find(val)
FilaDelValor = busco.Row
 
End Function
 
--
 
Private Sub Worksheet_Change(ByVal Target As Range)
Dim fila As Long
 
If Target.Value = "" Then Exit Sub
    If Not Intersect(Target, Range("A:A")) Is Nothing Then
        fila = FilaDelValor(Range("A:A"), Target.Value)
        If fila > 0 Then
            UltimaCelda = ActiveSheet.Cells(Rows.Count, "A").End(xlUp).Row
            Range("B" & fila).Value = Range("B" & fila).Value + 1
            If UltimaCelda <> fila Then Range("A" & UltimaCelda).Value = ""
        Else
            UltimaCelda = ActiveSheet.Cells(Rows.Count, "A").End(xlUp).Row
            Range("A" & UltimaCelda + 1).Value = Target.Value
            Range("B" & fila).Value = Range("B" & fila).Value + 1
        End If
    End If
End Sub
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 Andres Leonardo
Val: 3.136
Plata
Ha mantenido su posición en Excel (en relación al último mes)
Gráfica de Excel

Macro para eliminar codigo duplicado pistoleado

Publicado por Andres Leonardo (1583 intervenciones) el 06/11/2018 19:38:57
He hechpo un par de pruebas y considero que deberias usar un input box con un bucle .. para que se actualice cada vez que quieras ya que usar el tema de actualizacion de hoija te podria crear un bucle ..infinito

cualquier duda estoy a las ordenes..

La otra seria pistolear todo y luego solo generar un reporte



Saludos
Andres
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
2
Comentar
sin imagen de perfil
Val: 6
Ha aumentado su posición en 2 puestos en Excel (en relación al último mes)
Gráfica de Excel

Macro para eliminar codigo duplicado pistoleado

Publicado por alejandro (3 intervenciones) el 06/11/2018 19:59:42
Probé el código y funciona de maravilla, estoy muy agradecido con su respuesta, esto me ahorrará muchas horas.
y me dio una solución que ni los planificadores pudieron resolver aquí.

Vuelvo a agradecer!!
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 Andres Leonardo
Val: 3.136
Plata
Ha mantenido su posición en Excel (en relación al último mes)
Gráfica de Excel

Macro para eliminar codigo duplicado pistoleado

Publicado por Andres Leonardo (1583 intervenciones) el 06/11/2018 21:01:14
Me alegra mucho que te haya servido.espero que te sirva para automatizar tus procesos y puedas optimzar tus tiempos
el comentario de que ni los planificadores pudo me hizo gracias .. que bueno que haya funcionado

Para esto estamos saludos desde Ecuador

**Si necesito trabajo ya se a quien recurrir jejejejej

Saludos
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