Verificar cantidad de registros según condición

Buenos días, estoy por terminar una aplicación en excel, pero necesito condicionar la cantidad de registro a un valor de terminado, es decir que me indique cuando he llegado al limite de registro que deseo, el máximo de registro es 4, el ejemplo es asi:

CADA FILA SIGNIFICA UN REGISTRO

Hoja1 tengo la siguiente tabla:

A B C

1 1

2 1

3 1

4 2

5 2

7 2

8 2 Aca necesito que me indique que ya registre el limite máximo que es 4

9 3

10 3

11 4

12 4

13 4

14 5

15 5

16 5

17 5 Aca necesito que me indique que ya registre el limite máximo que es 4

18 6

19 7

20 7

21 8

22 8

23 8

24 8 Aca necesito que me indique que ya registre el limite máximo que es 4

25 9

26 9

27 10

El mensaje solo debe aparecer cuando yo he registrado un máximo de 4 registros, para ello he asignado un ID con máximo de 4 registro, el mensaje puede ser un MsgBox que no me permita agregar otro registro con el ID mayor a 4.

1 Respuesta

Respuesta
1

Ok, esto lo puedes hacer con la validación de datos, como hacerlo:

1) Seleccionas toda la columna donde tienes la información que necesitas validar, para mi ejemplo es la columna B

2) Vas a la pestaña Datos, y escoges el botón Validación de Datos

3) Te aparecerá una pantalla, en el campo permitir, eliges la opción personalizada, y te aparecerá un campo que se llama Fórmula, en esta ecribirás: =CONTAR.SI(B:B;B1)<5

4) En la Pestaña error te aparecerá por defecto el Estilo Grave, déjalo tal como está; en el Titulo coloca el que quieras que aparezca: Ejm: ERROR EN REGISTRO; y por último en el campo mensaje de error coloca una descripción más detallada del error que estas validando, ejm: NO PUEDEN INGRESARSE MAS DE CUATRO REGISTROS

Y listo ya tienes condicionada la columna B para que no acepte más de cuatro códigos repetidos.

Gracias por tu respuesta,Excelente, justo lo que deseaba, te comento que me funciona solo cuando yo dígito el ID, pero el ID se genera a través de una formula que esta condicionada al valor de la celda adyacente, en ese sentido tengo formula en la columna del ID, asi no me funciona la validación, hay alguna manera para que funcione con formula?

Pues podría ser con una macro, pega este código en el vb de la hoja en la que tienes los datos:

1) Presiona alt+F11, te aparecerá la pantalla de vb para que digites tus códigos

2) En la parte izquierda te aparecerán todas las hojas que contiene tu libro, dale doble click sobre la hoja donde estas condicionando la repetición.

3) Pega estos códigos, y prueba, la idea es que los ID están en A, y los datos con los que condicionas el ID están en B.

Private Sub Worksheet_Change(ByVal Target As Range)
On Error Resume Next
Fila = Target.Rows
valor = Range("A" & Target.Rows).Value
If Err.Number > 0 Then GoTo Kike
contador = Application.WorksheetFunction.CountIf(Sheets("Hoja1").Range("A:A"), valor)
If contador > 4 Then
MsgBox "El ID " & valor & "ya se ha repetido 4 veces, no puede volver a ser usado"
Range("B" & Target.Row).ClearContents
Kike:
Exit Sub
End If
End Sub

Me avisas

Corrijo el código:

Private Sub Worksheet_Change(ByVal Target As Range)
On Error Resume Next
valor = Range("A" & Target.Row).Value
If Err.Number > 0 Then GoTo Kike
contador = Application.WorksheetFunction.CountIf(Sheets("Hoja1").Range("A:A"), valor)
If contador > 4 Then
MsgBox "El ID " & valor & " ya se ha repetido 4 veces, no puede volver a ser usado"
Range("B" & Target.Row).ClearContents
Kike:
Exit Sub
End If
End Sub

Hola, ya probé la macro, pero cuando manda el Msgbox se bloquea el proceso y ya no puedo continuar, tengo que forzar el cierre del archivo con Clt Alt Supr

El msgbox debe tener una condición de aceptar, obligado debe dar aceptar.

Añade tu respuesta

Haz clic para o

Más respuestas relacionadas