¿Cómo puedo que me detecte Excel que coinciden dos valores en dos columnas distintas?

Hola, soy Miguel y mi pregunta es la siguiente:
Estoy realizando una hoja de excel en la que aparecen 4 columnas: fecha factura, nº de factura, nombre de la empresa que nos factura y por último el importe, lo que necesitaría saber es que si yo al introducir los datos si coinciden el nº de factura y el importe, por ejemplo me lo marque de alguna manera, no se si me entiendes, si coinciden 2 de los 4 campos, me de algún tipo de error, también podría ser nombre e importe, ya que es muy difícil que se repitan los importes de un mismo proveedor. Un saludo y muchas gracias

1 Respuesta

Respuesta
1
Te entiendo, yo tenia uno para saber cuando tenia que revisar unos equipos.
Lo que necesito que me digas es como quieres que te lo compruebe, es decir, se puede añadir la macro en un botón en el que tu lo pulses y compruebe toda la lista, se puede poner que compruebe solamente los últimos introduccidos, se puede poner que los datos los introduzcas por un formulario y si dos son coincidentes te diga que repitas... se pueden hacer N cosas.
Lo más sencillo es lo primero, una macro que compruebe todo y busque equivalencias, es eficaz en el sentido de que al recorrer toda la lista si hay algún "coincidente" lo va a encontrar, pero tiene la pega de que si la lista se vuelve muy larga tardara cada vez más.
La segunda de que comprueba con los valores que acabas de introducir, con lo que solo comprueba que haya otros con esos valores, si ya existe unos duplicados no los va a marcar.
El tercer caso es más o menos igual que el anterior, un poco más complejo y con bastante más trabajo, pero queda mejor en el sentido de que si vas a introducir algo que no puedes, ya no te lo deja poner, digamos que hay un paso intermedio...
Seguramente lo que mejor se adapta a lo tuyo sea lo primero, que revise toda la lista y busque los coincidentes.
Creo que lo primero podría ser lo más fácil y me serviría, siempre y cuando me señalase de alguna manera la repetición, es decir y la fila 40 se repite con la 96 que es la que estoy metiendo me diga que está metida y es la 40.
Qué fácil lo ves, y yo aquí volviéndome loco, muchas gracias por tu ayuda
Sería simplemente marcar en un color las que se repitan y mostrar un mensaje diciendo cuales son, eso nada, dame unos minutos y te pongo el código, que voy a probar diferentes cosas por lo de los colores, sino van ir todos en el mismo color xD
Si lo prefieres te paso la hoja por mail
Perdón, ayer tuve que hacer unas cosas y no te pude poner la respuesta.
Descargar archivo
En ese link tienes el archivo con el código y también te pongo aquí el código por si no quieres descargártelo o no puedes:
Sub colorear(a)
With Selection.Interior
.ColorIndex = a
.Pattern = xlSolid
End With
End Sub
Private Sub CommandButton1_Click()
Dim a, b, contador, color, duplis As Integer
Dim celdita As Range
duplis = 0
color = 3
Range("A:D").Select
Selection.Interior.ColorIndex = xlNone
If Range("A2").Value <> "" Then
For Each celdita In Range("A1", Range("A1").End(xlDown))
a = 1
While (a < Range("A1", Range("A1").End(xlDown)).Count)
contador = 0
While (b < 4)
If celdita.Offset(0, b).Value = celdita.Offset(a, b).Value Then
contador = contador + 1
End If
If contador = 2 Then
Range(celdita, celdita.End(xlToRight)).Select
colorear (color)
Range(celdita.Offset(a, 0), celdita.Offset(a, 0).End(xlToRight)).Select
colorear (color)
color = color + 1
duplis = duplis + 1
End If
b = b + 1
Wend
b = 0
a = a + 1
Wend
Next celdita
duplicados = MsgBox("Hay " & duplis & " filas con duplicados", vbInformation, "Atención")
Else
fallo = MsgBox("No hay ningun dato que comprobar", vbCritical, "Error")
End If
Range("a1").Select
End Sub
Cualquier duda aquí me tienes.
Lo siento pero no se si no funciona, o lo más probable es que yo no lo sepa hacer funcionar, ¿no sé si hay alguna manera de que te lo envíe con los datos a ver?
¿Tienes las macros habilitadas? Si te has bajado el fichero solamente tienes que poner los datos debajo de donde corresponda, si has puesto el código, ten en cuenta que para ejecutarlo necesitas tener la macro en el botón... con lo cual tienes que crear un botón.
Abre la hoja que te mande, mira en herramientas->macro->seguridad
que la seguridad este en medio o bajo. Cierra la hoja y vuelve a abrirla, si te pregunta si quieres habilitar las macros dile que si...
A mi me funciona perfectamente y por favor, no quieras todo tan hecho si te digo que mires eso hazlo, porque a mi me funciona perfectamente, pero si no compruebas lo que te pido no te va a funcionar...
Lo único que hace mal es lo de los colores si se repiten varias, ya que deja una libre con un color y las últimas con otro, pero eso es normal porque no lo hice para que pusiera tramas que sería la única forma que lo dejara hacer...
Si quieres que solo ponga un color a todas avisa que es cambiar una cosa.

Añade tu respuesta

Haz clic para o

Más respuestas relacionadas