Preguntar si quiero ingresar un dato repetido desde un textbox excel

Hola

antes de ingresar un dato repetido en una planilla excel,deseo que me pregunte pero sólo me funciona algunas veces. Este es el código si me pueden ayudar por fis.

Private Sub ingresar_Click()
Sheets("diciembre").Select
Range("a5").Select
Do While Not IsEmpty(ActiveCell)
ActiveCell.Offset(1, 0).Select
Loop
If Application.CountIf(Worksheets("diciembre").Range("A:A"), dia) And Application.CountIf(Worksheets("diciembre").Range("B:B"), mes) And Application.CountIf(Worksheets("diciembre").Range("C:C"), año) Then
If MsgBox("Fecha ya existe.Desea continuar?", vbExclamation + vbYesNo) = vbYes Then
ActiveCell.Offset = Val(dia)
ActiveCell.Offset(0, 1).Select
ActiveCell.Offset = mes
ActiveCell.Offset(0, 1).Select
ActiveCell.Offset = Val(año)
ActiveCell.Offset(0, 1).Select
ActiveCell = Val(turno1)
ActiveCell.Offset(0, 1).Select
ActiveCell = Val(turno2)
ActiveCell.Offset(0, 1).Select
ActiveCell = Val(turno3)
dia = ""
mes = ""
año = ""
turno1 = ""
turno2 = ""
turno3 = ""
End If
Else
ActiveCell.Offset = Val(dia)
ActiveCell.Offset(0, 1).Select
ActiveCell.Offset = mes
ActiveCell.Offset(0, 1).Select
ActiveCell.Offset = Val(año)
ActiveCell.Offset(0, 1).Select
ActiveCell = Val(turno1)
ActiveCell.Offset(0, 1).Select
ActiveCell = Val(turno2)
ActiveCell.Offset(0, 1).Select
ActiveCell = Val(turno3)
dia = ""
mes = ""
año = ""
turno1 = ""
turno2 = ""
turno3 = ""
End If
End Sub

1 Respuesta

Respuesta
1

Leyendo el código parece correcto... solo pienso que seguramente también el control mes habrá que pasarlo a Val ... ¿es nro o texto el mes?

¿Podes aclararme un poco en que falla?

Muchas Gracias por la respuesta y tu tiempo. Mira, la fecha es, por ejemplo, 1 de enero 2012, la que está distribuida:

A B C

1 enero 2012.

En lo que falla es que cuando ingreso varias fechas y una de ellas es repetida, me pregunta si quiero ingresarla a pesar de estar repetida, pero si sigo ingresando otras fechas y una de ellas se vuelve a repetir, entonces no me valida, sino que la ingresa sin preguntarme. Para esto lo ingreso desde un userform con 6 textbox. y un commandbuttom. No sé por qué pasa esto.

Muchas gracias por tu tiempo.

Colocá así las comparaciones y me comentás:

If Application.CountIf(Worksheets("diciembre").Range("A:A"), dia) > 0 And
Application. CountIf(Worksheets("diciembre").Range("B:B"), mes) > 0 And
Application. CountIf(Worksheets("diciembre").Range("C:C"), año) > 0 Then

Elsa

He hecho todo lo que me has sugerido pero me da errores de validación. Creo que por acá no se puede adjuntar archivo?.Lo que tengo es lo siguiente:

3 combobox con dia,mes y año que se cargan automáticamente desde el userform initialize

y desde un commandbuttom, debe activar ese código que te escribí. A propósito, me gustaría comprar los manuales.!! Gracias pr tu ayuda nuevamente, esperemos llegar a una solución.

Dejame tu correo (no tenemos acceso al que dejan aquí) o copiá el mío que aparece en mi sitio que dejo al pie, No olvides recordarme el motivo que nos ocupa.

Ok Elsa. Muchas gracias nuevamente por tu tiempo y disposición. Te envié a tu correo de aplicaexcel el ejemplo y la consulta. Saludos.

Ya envié libro con nueva rutina. No olvides finalizar aquí. Sdos!

Añade tu respuesta

Haz clic para o

Más respuestas relacionadas