Datos Duplicados

Solo consultas sobre Funciones y Fórmulas Excel.

Reglas del Foro
1. Antes de hacer tu pregunta intenta con el buscador de este foro (muchas preguntas ya fueron respondidas antes!)
2. Si haces una nueva pregunta, es muy recomendable que adjuntes el ejemplo Excel para poder comprenderla mejor!
3. Realiza tu pregunta de forma clara, explicando bien cada paso de lo que haces y tendrás más probabilidad de respuesta!
Compartir en:
     

Datos Duplicados

Notapor silvia quispe » 13 Ene 2012 18:21

hola a todos

En el archivo que adjunto, hoja Base, de H7:AL270 (31 dias), se deben llenar las faltas del personal, para facilitar llenado, le puse validación con lista; en la columna A escojo el código del personal, y a partir de H escojo la falta; no he podido encontrar la manera de evitar que por error, se ponga la misma falta el mismo dia para la misma persona.. creo que por validación lo hubiera conseguido, leí algo, pero ni lo intente, porque ya estoy usando la validación con la lista.. ¿?

Se me ocurrió, que por lo menos al momento de filtrar por persona, a partir de la h273 en cada dia, me coloque la falta mas repetida, si lo hubiera, y si no que no coloque nada.. o que me coloque algo que me indique que hay error... pero no he conseguido hacer nada :(.

En la hoja Resumen hice algo, resalta de amarillo si tiene mas de una falta con en el mismo tipo de falta en el mismo dia.. pero me gustaria algo en la misma hoja base.

gracias por la ayuda que pudieran darme..


Saludos
Silvia
No tiene los permisos requeridos para ver los archivos adjuntos a este mensaje.
* Te recomendamos estos productos Excel: Manual de Macros | Manual de Funciones | Nuevas Funciones | ddTraDa
Avatar de Usuario
silvia quispe
Miembro Frecuente
Miembro Frecuente
 
Registrado: 13 Jul 2010 16:35

Re: Datos Duplicados

Notapor Gerson Pineda-El Catracho » 14 Ene 2012 02:53

Hola silvia
Pega esta macro (de evento) en la hoja "BASE"

Código: Seleccionar todo
Private Sub Worksheet_Change(ByVal Target As Range)
With Target
If .Column < 8 And .Column > 38 Then Exit Sub
    nombre = .Offset(, -7)
    n_duplicado = Application.WorksheetFunction.CountIf(Range("B7:B270"), nombre)
    faltas = Application.WorksheetFunction.CountIf(Range(Cells(7, .Column), Cells(270, .Column)), .Value)
    If n_duplicado > 1 And faltas > 1 Then
        MsgBox "La falta """ & .Value & """ ya fue aplicada", vbExclamation, "Error                                     by Gerson Pineda"
        .Value = ""
        Exit Sub
    End If
End With
End Sub

Espero te haya entendido, y que te funcione

pd: este tu libro, se me hace familiar (en otro foro, si mal no recuerdo :) )

Saludos desde Honduras
* Te recomendamos estos productos Excel: Manual de Macros | Manual de Funciones | Nuevas Funciones | ddTraDa
Avatar de Usuario
Gerson Pineda-El Catracho
Miembro Frecuente
Miembro Frecuente
 
Registrado: 08 Abr 2005 13:52

Re: Datos Duplicados

Notapor Gerson Pineda-El Catracho » 14 Ene 2012 02:59

He corregido el codigo, en la variable "nombre"

Código: Seleccionar todo
Private Sub Worksheet_Change(ByVal Target As Range)
With Target
If .Column < 8 And .Column > 38 Then Exit Sub
    nombre = Cells(.Row, "B")
    n_duplicado = Application.WorksheetFunction.CountIf(Range("B7:B270"), nombre)
    faltas = Application.WorksheetFunction.CountIf(Range(Cells(7, .Column), Cells(270, .Column)), .Value)
    If n_duplicado > 1 And faltas > 1 Then
        MsgBox "La falta """ & .Value & """ ya fue aplicada", vbExclamation, "Error                                     by Gerson Pineda"
        .Value = ""
        Exit Sub
    End If
End With
End Sub
* Te recomendamos estos productos Excel: Manual de Macros | Manual de Funciones | Nuevas Funciones | ddTraDa
Avatar de Usuario
Gerson Pineda-El Catracho
Miembro Frecuente
Miembro Frecuente
 
Registrado: 08 Abr 2005 13:52

Re: Datos Duplicados

Notapor silvia quispe » 16 Ene 2012 12:13

hola Gerson

Muchas gracias, ahorita lo veo y te comento.. :D

Si, lo colgué en este foro, haciendo consultas sobre la función Si(por el límite de los anidados), hasta que xpelos me recomendó usar Buscar(), tambien tenía problemas con el color de las celdas en el formato condicional.. (pero justo luego alguien consultó algo similar,asi que se me solucionó eso..), y tambien tuve problemas porque no me di cuenta que una persona solo podía cometer un error en un solo dia.. asi que ahi, si, tuve que replantear el libro.. aun no lo termino... creo que para ayudar a la persona que me va a ingresar los datos, seria mejor un formulario..pero tengo que investigar al respecto, nunca hice uno..... por ahora queria ponerle todas las validaciones posibles para evitar errores al ingresar los datos, y tratar de mejorar el ingreso para que sea mas fácil el llenado..

ahora si, voy a colocar tu codigo en mi la hoja Base :)

gracias nuevamente Gerson
Silvia
* Te recomendamos estos productos Excel: Manual de Macros | Manual de Funciones | Nuevas Funciones | ddTraDa
Avatar de Usuario
silvia quispe
Miembro Frecuente
Miembro Frecuente
 
Registrado: 13 Jul 2010 16:35

Re: Datos Duplicados

Notapor silvia quispe » 16 Ene 2012 13:05

Hola Gerson

Ya probé la macro, un favor :mrgreen: , podrias validar solo desde H7:AL270?? (si mas adelante crece el rango, hacia abajo, cambio el rango en tu código).

Es que quise ingresar nuevamente un código (el código de la persona), ya no me permite porque dice que ya existe.. he visto que funciona bien en la parte de las faltas, si coloco uno que ya existe, me sale el aviso y no me permite ingresar, justo como queria :D

Es asi:
el código de una misma persona, lo tengo que repetir tantas veces como faltas y recuperos tenga.. si el dia 01 solo tuvo 4, repetiré 4 veces su nombre, si el dia 02 tuvo solo 3, puedo usar las filas que cree en el dia 1, si el dia 3 tuvo 5 faltas, como solo tendre 4 filas (que cree el dia 1), tendré que agregar nuevamente el codigo de la persona... Esta forma de llenado creo que es un poco complicada, puede llegar a marear, pero no se me ocurrio nada mejor.. :( .

Luego le tendré que poner protección a las celdas con fórmulas, porque yo misma probando, ya me volé varias veces las fórmulas y la macro de resaltar filas, no me permite copiar nada... tuve que rehacerlas manualmente.. :(.


muchas gracias por tu gran apoyo... :D

Silvia
No tiene los permisos requeridos para ver los archivos adjuntos a este mensaje.
* Te recomendamos estos productos Excel: Manual de Macros | Manual de Funciones | Nuevas Funciones | ddTraDa
Avatar de Usuario
silvia quispe
Miembro Frecuente
Miembro Frecuente
 
Registrado: 13 Jul 2010 16:35

Re: Datos Duplicados

Notapor Gerson Pineda-El Catracho » 16 Ene 2012 15:49

Hola Silvia, creo haber entendido, prueba el codigo (lo modifique)

Código: Seleccionar todo
Private Sub Worksheet_Change(ByVal Target As Range)
With Target
If .Column < 8 Or .Column > 38 Then Exit Sub
    nombre = Cells(.Row, "B")
    n_duplicado = Application.WorksheetFunction.CountIf(Range("B7:B270"), nombre)
    faltas = Application.WorksheetFunction.CountIf(Range(Cells(7, .Column), Cells(270, .Column)), .Value)
    If n_duplicado > 1 And faltas > 1 Then
        MsgBox "La falta """ & .Value & """ ya fue aplicada", vbExclamation, "Error                                     by Gerson Pineda"
        .Value = ""
        Exit Sub
    End If
End With
End Sub


Saludos desde Honduras
* Te recomendamos estos productos Excel: Manual de Macros | Manual de Funciones | Nuevas Funciones | ddTraDa
Avatar de Usuario
Gerson Pineda-El Catracho
Miembro Frecuente
Miembro Frecuente
 
Registrado: 08 Abr 2005 13:52

Re: Datos Duplicados

Notapor silvia quispe » 16 Ene 2012 17:10

Gerson:
:D Excelente, Muchas, muchas, muchas gracias :D !!!!

Es lo que necesitaba ... :P

Saludos
Silvia..
* Te recomendamos estos productos Excel: Manual de Macros | Manual de Funciones | Nuevas Funciones | ddTraDa
Avatar de Usuario
silvia quispe
Miembro Frecuente
Miembro Frecuente
 
Registrado: 13 Jul 2010 16:35

Re: Datos Duplicados

Notapor Gerson Pineda-El Catracho » 16 Ene 2012 17:46

Pues que bueno que te haya funcionado

Saludos y hasta la proxima!
* Te recomendamos estos productos Excel: Manual de Macros | Manual de Funciones | Nuevas Funciones | ddTraDa
Avatar de Usuario
Gerson Pineda-El Catracho
Miembro Frecuente
Miembro Frecuente
 
Registrado: 08 Abr 2005 13:52

Re: Datos Duplicados

Notapor silvia quispe » 25 Ene 2012 14:19

Hola Gerson

Estuve probando ingresar datos... no logro detectar porque me da que el dato ya existe, cuando en realidad no existe, algunas veces si, otras veces no...

Me parece que es porque los nombres Silvia y Alina se repiten mas de una vez... pero tiene que ser asi. y pasaria cuando la cantidad de celdas en la misma columna, no alcanzan para rellenar el dia con las faltas de la misma persona...entonces tengo que crear una mas, y otra mas, y asi, las veces que fuera necesario, sin importar si son o no consecutivas....

Por ejemplo, en un dia x, ingresa tardanza para Silvia, luego para Alina, ya no deja ingresar tardanza a Alina, pero si me deja en Jacqui, y en Janet.
En otro dia, ingresa tardanza primero en Alina, en Jacqui, en Janet, todo bien, en Silvia, ya no deja... ni en la fila 7 ni en la 14.


(por si acaso donde dice Trd+el dia, ahi tengo que ingresar el tiempo de la tardanza, tambien ahi si repito el mismo tiempo, de Silvia y Alina, tampoco me deja ingresar... pero bueno, le puedo poner un minuto mas, y ya..)

Disculpa las molestias, y que aun siga con este caso.. es que tuve (tengo) muchos problemas con este libro, y la protección que le puse, recién me di cuenta de esto... espero haberme dejado entender...

gracias
Silvia.
No tiene los permisos requeridos para ver los archivos adjuntos a este mensaje.
* Te recomendamos estos productos Excel: Manual de Macros | Manual de Funciones | Nuevas Funciones | ddTraDa
Avatar de Usuario
silvia quispe
Miembro Frecuente
Miembro Frecuente
 
Registrado: 13 Jul 2010 16:35

Re: Datos Duplicados

Notapor Gerson Pineda-El Catracho » 26 Ene 2012 15:33

Hola Silvia
Te adjunto el archivo nuevamente, ahora si capte mejor (creo), lo que necesitas, revisa, prueba y comentas

Saludos desde Honduras
No tiene los permisos requeridos para ver los archivos adjuntos a este mensaje.
* Te recomendamos estos productos Excel: Manual de Macros | Manual de Funciones | Nuevas Funciones | ddTraDa
Avatar de Usuario
Gerson Pineda-El Catracho
Miembro Frecuente
Miembro Frecuente
 
Registrado: 08 Abr 2005 13:52

Re: Datos Duplicados

Notapor silvia quispe » 26 Ene 2012 18:00

Hola Gerson: :D

Lo he probado de muchas formas, ordenado, desordenado, incluso he cometido errores voluntarios, e involuntarios :shock: y todo ha salido según lo esperado. :lol: :D :D

MUCHAS GRACIAS. :mrgreen: , es una gran ayuda esta validación que me has regalado, espero llegar a entender tu código para usarlo en otros libros, por ahora sigo con este libro que me da si no un problema, otro.. pero no me deja tranquila...jajaja.

Que estes muy bien Gerson Pineda El Catracho (es como decir el Hondureño??)...

saludos
Silvia
* Te recomendamos estos productos Excel: Manual de Macros | Manual de Funciones | Nuevas Funciones | ddTraDa
Avatar de Usuario
silvia quispe
Miembro Frecuente
Miembro Frecuente
 
Registrado: 13 Jul 2010 16:35

Re: Datos Duplicados

Notapor Gerson Pineda-El Catracho » 26 Ene 2012 19:01

Hola Silvia
Que bueno que te haya servido y funcionado

"Catracho": http://elcatracho.blogspot.com/2009/03/ ... racho.html

Saludos y hasta la proxima!
* Te recomendamos estos productos Excel: Manual de Macros | Manual de Funciones | Nuevas Funciones | ddTraDa
Avatar de Usuario
Gerson Pineda-El Catracho
Miembro Frecuente
Miembro Frecuente
 
Registrado: 08 Abr 2005 13:52

Re: Datos Duplicados

Notapor Gerson Pineda-El Catracho » 26 Ene 2012 19:17

Una vez lo entiendas, podrias hacer modificaciones a gusto, si en algun caso no entiendes algo especifico, pues me avisas

Lo he modificado levemente y comentado para tu mejor comprension
Código: Seleccionar todo
Private Sub Worksheet_Change(ByVal Target As Range)

With Target
    Rem si la celda esta fuera de las columas 8 y 69, salir
    If .Column < 8 Or .Column > 69 Then Exit Sub
    Rem nombre
    nombre = Cells(.Row, "B")
    Rem tipo de falta
    falta = .Value
    Rem fila actual
    fila = .Row
    Rem dia de la columna activa
    dia = Cells(6, .Column)
    Rem si el nombre esta en blanco, salir
    If nombre = "" Then MsgBox "Nombre en blanco": Exit Sub
    Rem nombre concatenado
    nombresgp = nombre & falta & dia
    Rem bucle o ciclo para recorrer las veces que exite el concatenado
    For gp = 7 To fila
        Rem buscando coincidencias para nombre, falta y dia, concatenada
        nom = Cells(gp, "B")
        falt = Cells(gp, .Column)
        Rem si la falta es diferente a vacio/blanco
        If falt <> "" Then
        Rem variable ya concatenada
        variable = nom & falt & dia
        Rem si la variable de nombre es igual a la elegida con la lista validada
        If variable = nombresgp Then uno = uno + 1
        End If
    Next gp
    Rem si el nombre cocatenado existe mas de una vez, entonces advertir al usuario
    Rem y borrar la celda
    If uno > 1 Then
        MsgBox "La falta """ & falta & """ ya fue aplicada a " & nombre, vbExclamation, _
        "Error                by Gerson Pineda"
        .Value = ""
    End If
End With

End Sub


Saludos desde Honduras
* Te recomendamos estos productos Excel: Manual de Macros | Manual de Funciones | Nuevas Funciones | ddTraDa
Avatar de Usuario
Gerson Pineda-El Catracho
Miembro Frecuente
Miembro Frecuente
 
Registrado: 08 Abr 2005 13:52

Re: Datos Duplicados

Notapor silvia quispe » 27 Ene 2012 12:52

hola Gerson Pineda, El Catracho.. (gracias por la explicación del término)

Gerson, te recontrapasaste de vueltas (súper buena onda) :D , gracias por darte el tiempo de explicarme tu código.. espero que a ti y a todos, la ayuda desinteresada que nos prestan, les sea devuelta con creces.

He notado que si me paso de la fila 270, la macro sigue funcionando.. siempre que la celda de la columna donde se ingresan las faltas esté validada.. que bien...

Que estes muy bien Gerson.

saludos a todos

Silvia
* Te recomendamos estos productos Excel: Manual de Macros | Manual de Funciones | Nuevas Funciones | ddTraDa
Avatar de Usuario
silvia quispe
Miembro Frecuente
Miembro Frecuente
 
Registrado: 13 Jul 2010 16:35


Compartir en:
     

  • Anuncio
Manual Excel avanzado

Volver a Funciones y Fórmulas

¿Quién está conectado?

Usuarios navegando por este Foro: No hay usuarios registrados visitando el Foro y 6 invitados