Excel - Condicional en toda una fila (2 columnas iguales)

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

Condicional en toda una fila (2 columnas iguales)

Publicado por Ana (4 intervenciones) el 08/01/2019 11:46:24
Buenos días,

Estoy intentando crear un excel para detectar los accesos de clientes a una instalación. Los datos que se recogen son Fecha y DNI. Necesitaría conseguir detectar mediante un condicional (o si hay otra forma) en una FILA
si las dos columnas son exactamente iguales. Solo en ese caso cambien de color las celdas, para comprobar si el usuario está accediendo dos veces al día, puesto que está limitado para un único acceso. Si al escribir la fecha y el DNI está duplicado en ese listado, que se ponga en otro color. ¿Sabéis como aplicarlo? Gracias por vuestra ayuda. Un saludo

Ejemplo:

(fila1) FECHA DNI
(fila2) 16/12/18 12345678e => Al escribir estos datos, se pondrían en color "rojo" tanto esta fila como la 4.
(fila3) 16/12/18 65743523d
(fila 4)16/12/18 12345678e
(fila 5)16/12/18 76489632q
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 wordexperto.com
Val: 6.373
Oro
Ha mantenido su posición en Excel (en relación al último mes)
Gráfica de Excel

Condicional en toda una fila (2 columnas iguales)

Publicado por wordexperto.com (2803 intervenciones) el 08/01/2019 12:19:30
Hola Ana:
Primero, para prevenir, usa esta validación de datos..

Captura

Lo que pides lo puedes hacer desde Inicio > Estilos > Formato condicional > Resaltar reglas de celdas > Duplicar valores.
https://wordexperto.com/
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 Antoni Masana
Val: 4.908
Oro
Ha mantenido su posición en Excel (en relación al último mes)
Gráfica de Excel

Condicional en toda una fila (2 columnas iguales)

Publicado por Antoni Masana (2473 intervenciones) el 08/01/2019 12:25:44
Para el cambio de color hace falta una macro que se ejecute cada vez que introduces una fecha y DNI.

Te dejo este codigo para que lo pongas en la hoja.

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
Option Explicit
 
Private Sub Worksheet_Change(ByVal Target As Range)
    Dim Fil As Long, FEC As Date, DNI As String, a As Long
 
    ' ---&--- Solo valida cuando se modifica la columna A(1) y B(2)
 
    If Target.Column < 3 Then
       Fil = Target.Row
 
       ' ---&--- Tiene que haber Fecha y DNI
 
       If Cells(Fil, 1) > 0 And Cells(Fil, 2) <> "" Then
          FEC = Cells(Fil, 1)
          DNI = UCase(Cells(Fil, 2))
 
          ' ---&--- Desde el Inicio hasta la Linea introducida
 
          For a = 2 To Fil - 1
              If Cells(a, 1) = FEC And UCase(Cells(a, 2)) = DNI Then
                  Range("A" & a & ":B" & a).Select
                  With Selection.Font
                      .Color = -16776961
                      .TintAndShade = 0
                  End With
                  Selection.Font.Bold = True
 
                  Range("A" & Fil & ":B" & Fil).Select
                  With Selection.Font
                      .Color = -16776961
                      .TintAndShade = 0
                  End With
                  Selection.Font.Bold = True
              End If
          Next
       End If
    End If
End Sub

Saludos.
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
sin imagen de perfil
Val: 9
Ha aumentado su posición en 4 puestos en Excel (en relación al último mes)
Gráfica de Excel

Condicional en toda una fila (2 columnas iguales)

Publicado por Ana (4 intervenciones) el 10/01/2019 09:47:14
Buenos días,

Muchísimas gracias a los dos. Estoy intentando encajarlo en el excel que tenía creado para vincular una pestaña con otra. Voy a integrarlo con el archivo que me adjuntasteis y si tengo algún problema, os escribo. Un saludo
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
sin imagen de perfil
Val: 9
Ha aumentado su posición en 4 puestos en Excel (en relación al último mes)
Gráfica de Excel

Condicional en toda una fila (2 columnas iguales)

Publicado por Ana (4 intervenciones) el 10/01/2019 10:37:18
Buenas,

Tras mis intentos fallidos, os adjunto el archivo que tengo y os explico. La idea es, en la primera pestaña "buscador" ,escribir el DNI del cliente, y directamente aparecen vinculados los datos (asociados al listado de la pestaña "datos"). Al presionar el botón "grabar datos", aparecen todos los datos en la pestaña "registro". Esa es la pestaña importante donde me gustaría que si la fecha y el DNI se duplican, que se ponga en otro color para detectarlo. He intentado aplicar la pestaña o macro que creasteis pero estoy aún en un nivel básico de macros, y no doy con la tecla.
Una duda que tengo, ¿se podría sacar un listado o asociar la pestaña "registro" a cada día del mes para saber cuantas veces o días accede un cliente? (en la pestaña "datos" hay una especie de planning pero no creo que sea la manera correcta).
No sabéis lo que os agradezco vuestra ayuda. Mi mayor admiración para vosotros. Gracias. Un saludo
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 Antoni Masana
Val: 4.908
Oro
Ha mantenido su posición en Excel (en relación al último mes)
Gráfica de Excel

Condicional en toda una fila (2 columnas iguales)

Publicado por Antoni Masana (2473 intervenciones) el 14/01/2019 13:22:12
Te adjunto el archivo con los cambios

* Fórmula para encontrar el Nombre del DNI.
* Fórmula para encontrar la cuota del DNI.
* Modificación de la macro guardado para que guarde en la hoja registro y colore si hay repetición.

Si hay repetición se queda en la hoja REGISTRO, en caso contrario se queda en la hoja BUSCADOR.

Saludos.
\\//_
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
sin imagen de perfil
Val: 9
Ha aumentado su posición en 4 puestos en Excel (en relación al último mes)
Gráfica de Excel

Condicional en toda una fila (2 columnas iguales)

Publicado por Ana (4 intervenciones) el 15/01/2019 17:39:30
Buenas Antoni,

Al abrir el archivo (sin modificarlo) e introducir el DNI, me vincula todo correctamente pero al darle al boton de guardar me sale el siguiente error "Error de compilación: el número de argumentos es incorrecto o la asignación de propiedad no es válida". ¿Te salía ese error a tí? ¿Cómo podriamos resolverlo? gracias. Un saludo
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 Antoni Masana
Val: 4.908
Oro
Ha mantenido su posición en Excel (en relación al último mes)
Gráfica de Excel

Condicional en toda una fila (2 columnas iguales)

Publicado por Antoni Masana (2473 intervenciones) el 16/01/2019 12:49:04
Si que me da el mismo error. La solución esta remarcada:

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
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
Sub GUARDADO()
    Dim FEC As Date, Dni As String, Nom As String, _
        Cuo As Single, Fil As Long, a As Long, SW As Boolean
 
    If Len(Range("C7")) > 0 And Len(Range("C11")) > 0 Then
        FEC = Range("C5")
        Dni = Range("C7")
        Nom = Range("C9")
        Cuo = Range("C11"):
 
        Range("C7") = ""
        Range("C7").Select
 
        Sheets("REGISTRO").Select
 
        Fil = 3
        While Cells(Fil, "A") <> "": Fil = Fil + 1: Wend
 
        Range("A" & Fil) = FEC
        Range("B" & Fil) = Dni
        Range("C" & Fil) = Nom
        Range("D" & Fil) = Cuo: SW_Doble = False
 
        Range("A" & Fil & ":D" & Fil).Select: Call Poner_MARCO("")
 
        ' ---&--- Desde el Inicio hasta la Linea introducida
 
        For a = 2 To Fil - 1
            If Cells(a, 1) = FEC And UCase(Cells(a, 2)) = Dni Then
                Range("A" & a & ":B" & a).Select
                With Selection.Font
                    .Color = -16776961
                    .TintAndShade = 0
                End With
                Selection.Font.Bold = True
 
                Range("A" & Fil & ":B" & Fil).Select
                With Selection.Font
                    .Color = -16776961
                    .TintAndShade = 0
                End With
               Selection.Font.Bold = True: SW_Doble = True
            End If
        Next
        If Not SW_Doble Then Sheets("BUSCADOR").Select
    Else
        MsgBox "Debe especificar un DNI VALIDO", vbCritical, "FALTAN DATOS"
    End If
End Sub
 
Sub Poner_MARCO(nulo As String)
    Selection.Borders(xlDiagonalDown).LineStyle = xlNone
    Selection.Borders(xlDiagonalUp).LineStyle = xlNone
    With Selection.Borders(xlEdgeLeft)
        .LineStyle = xlContinuous
        .ColorIndex = xlAutomatic
        .TintAndShade = 0
        .Weight = xlThin
    End With
    With Selection.Borders(xlEdgeTop)
        .LineStyle = xlContinuous
        .ColorIndex = xlAutomatic
        .TintAndShade = 0
        .Weight = xlThin
    End With
    With Selection.Borders(xlEdgeBottom)
        .LineStyle = xlContinuous
        .ColorIndex = xlAutomatic
        .TintAndShade = 0
        .Weight = xlThin
    End With
    With Selection.Borders(xlEdgeRight)
        .LineStyle = xlContinuous
        .ColorIndex = xlAutomatic
        .TintAndShade = 0
        .Weight = xlThin
    End With
    With Selection.Borders(xlInsideVertical)
        .LineStyle = xlContinuous
        .ColorIndex = xlAutomatic
        .TintAndShade = 0
        .Weight = xlThin
    End With
    Selection.Borders(xlInsideHorizontal).LineStyle = xlNone
    Range("C14").Select
End Sub

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