Dato duplicado

4 envíos / 0 nuevos
Último envío
Jesús Martínez
Imagen de Jesús Martínez
Offline
última acción: Hace 3 años 9 meses
Nivel 1 - 200 puntosNivel 2 - 500 puntosNivel 3 - 1000 puntosNivel 4 - 2000 puntos
alta: 31/03/2013 - 17:15
Puntos: 5008
Dato duplicado

Hola amig@s:

Uso el siguiente código que lo adecue con la ayuda de tod@s ustedes :

Private Sub CommandButton1_Click(): On Error GoTo HayErrores 'registrodeboleto

If Len(Trim(TextBox1)) = 0 Or _

Len(Trim(ComboBox1)) = 0 Then

GoTo HayErrores ' sale de la sub rutina antes de guardar

End If

x = Hoja3.Range("A" & Rows.Count).End(xlUp).Row + 1

Hoja3.Cells(x, 1).Value = CDbl(Label29) 'nº

Hoja3.Cells(x, 2).Value = CDate(TextBox1.Text) 'fecha

Hoja3.Cells(x, 3).Value = ComboBox1.Text 'fp

Hoja3.Cells(x, 4).Value = ComboBox3.Text 'cclt

Hoja3.Cells(x, 5).Value = ComboBox2.Text 'cte1

Hoja3.Cells(x, 6).Value = TextBox19.Text ' clt2

Hoja3.Cells(x, 7).Value = ComboBox4.Text 'recibo

Hoja3.Cells(x, 8).Value = CDbl(TextBox10.Text) 'Bs

Hoja3.Cells(x, 9).Value = CDbl(TextBox20.Text) 'Usd

Hoja3.Cells(x, 10).Value = TextBox21.Text 'obs

Hoja3.Cells(x, 11).Value = TextBox18.Text 'tc

ComboBox1.SetFocus

Exit Sub

HayErrores: MsgBox "Revisar FECHA , FORMA DE PAGO y TIPO DE CAMBIO por favor.." Exit Sub

Mi consulta es como evitar que se registre 2 veces el mismo recibo en la hoja seleccionada?

Hoja3.Cells(x, 7).Value = ComboBox4.Text 'recibo

Gracias

Jesús

Etiquetas: 

pacomegia
Imagen de pacomegia
Offline
última acción: Hace 6 horas 30 mins
Nivel 1 - 200 puntosNivel 2 - 500 puntosNivel 3 - 1000 puntosNivel 4 - 2000 puntosNivel 5 - 4000 puntosadministrador
alta: 27/12/2006 - 23:26
Puntos: 11175
Re: Dato duplicado

Excel acepta cualquier valor, no es como una base de datos que puede impedir la introducción de datos duplicados en un campo.

Así que tendrás que realizar una comprobación en tu columna 7 para ver si ya existe un recibo igual

 

se me ocurre realizar un bucle justo después de calcular el valor de tu X y antes de empezar a poner los valores en la hoja, algo así:

...

x = Hoja3.Range("A" & Rows.Count).End(xlUp).Row + 1

'inicio comprobación duplicado

For contador = 1 To x

   If Hoja3.Cells(contador, 7).Value = ComboBox4.Text Then

       MsgBox "Recibo repetido. Proceso cancelado"

       Exit Sub

   End If

Next

'fin comprobación duplicado

Hoja3.Cells(x, 1).Value = CDbl(Label29) 'nº

...

 

 

------
Ya sé Excel, pero necesito más.

Jesús Martínez
Imagen de Jesús Martínez
Offline
última acción: Hace 3 años 9 meses
Nivel 1 - 200 puntosNivel 2 - 500 puntosNivel 3 - 1000 puntosNivel 4 - 2000 puntos
alta: 31/03/2013 - 17:15
Puntos: 5008
Re: Dato duplicado

Estimado Pacomegia

Me sale el siguiente mensaje: " Error de compilación: Se esperaba Funcion o una variable " y me muestra le texto resaltado contador  , exactamente en

For contador  = 1 to x

 

Espero tú ayuda

Gracias

Jesús

Jesus Martinez Plantarosa

pacomegia
Imagen de pacomegia
Offline
última acción: Hace 6 horas 30 mins
Nivel 1 - 200 puntosNivel 2 - 500 puntosNivel 3 - 1000 puntosNivel 4 - 2000 puntosNivel 5 - 4000 puntosadministrador
alta: 27/12/2006 - 23:26
Puntos: 11175
Re: Dato duplicado

a lo mejor se utiliza ese nombre contador en otra parte del código.

Declara la variable dentro del procedimiento.

escribe la siguiente línea delante del bucle

Dim contador As Integer

 

------
Ya sé Excel, pero necesito más.