Visual Basic para Aplicaciones - combobox y duplicados

Life is soft - evento anual de software empresarial
 
Vista:
sin imagen de perfil
Val: 177
Bronce
Ha mantenido su posición en Visual Basic para Aplicaciones (en relación al último mes)
Gráfica de Visual Basic para Aplicaciones

combobox y duplicados

Publicado por Albert (204 intervenciones) el 16/12/2008 17:34:58
Estimados foreros, llevo rato buscando entre las respuestas por si encontraba algo parecido pero no lo encuentro, asi que alli va mi duda.
Tengo un combobox en un USF que me desplega una lista de gasolineras, la cuestión es que el usuario puede no encontrar la que el busca y entonces teclea los datos directamente en el combobox, lo que necesito es que a la hora de guardar los datos compruebe si ya existen y si es asi que no haga nada y si no que lo añada en la lista (ademas se rellena otra hoja con todos los datos del USF.
El codigo que os adjunto SOLO funciona con el primer registro en cuanto escojo cualquier otro de la lista me lo añade como si fuese nuevo, no se donde me equivoco.

Mil gracias de antemano
-------------------------------------------------
For y = 4 To 10000
If datos.Cells(y, 6) = "" Then
final2 = y
Exit For
End If
Next

For y = 4 To final2
If ComboBox2 <> datos.Cells(y, 6) Then

datos.Cells(final2, 6) = Usf_Gastos.ComboBox2
datos.Cells(final2, 7) = Usf_Gastos.TextBox20

salidas.Cells(final, 1) = Usf_Gastos.TextBox10
salidas.Cells(final, 2) = Usf_Gastos.TextBox18
salidas.Cells(final, 3) = Usf_Gastos.TextBox17

Else

salidas.Cells(final, 1) = Usf_Gastos.TextBox10
salidas.Cells(final, 2) = Usf_Gastos.TextBox18
salidas.Cells(final, 3) = Usf_Gastos.TextBox17
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 JuanC

RE:combobox y duplicados

Publicado por JuanC (565 intervenciones) el 16/12/2008 18:06:33
con este fragmento de código no puedo hacer mucho... por no decir nada!
te conviene dejar la lista del Combo fija (imagino que llenás la lista con valores desde un Rango) y cuando no exista un valor
agregarlo desde un TextBox, entonces podes tener el control de lo que suceda
se puede hacer directamente con el Combo, pero es mas complicado...
(debés capturar algún evento del Combo (Exit por ejemplo) y buscar el valor
escrito dentro del Combo en toda la lista para saber si está o no y de esa forma agregarlo...)

Saludos desde Baires, JuanC
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: 177
Bronce
Ha mantenido su posición en Visual Basic para Aplicaciones (en relación al último mes)
Gráfica de Visual Basic para Aplicaciones

RE:combobox y duplicados

Publicado por Albert (204 intervenciones) el 16/12/2008 18:35:55
Disculpa, te adjunto todo el codigo por si ves el error, lo que esta entre las rayas es lo que no funciona correctamente, solo funciona para el 1º registro de la lista.
Prove a poner Val(comboBox2) pero entonces no hace nada. Como ves mis conocimientos son mas bien limitaditos ... jejeje
Mil gracias por tu tiempo



Private Sub CommandButton3_Click()
Dim i As Integer
Dim y As Integer

Dim final As Integer
Dim final2 As Integer


For i = 2 To 10000
If salidas.Cells(i, 1) = "" Then
final = i
Exit For
End If
Next
'_____________________________________________________________

For y = 4 To 10000
If datos.Cells(y, 6) <> "" Then
final2 = y
Exit For
End If
Next

For y = 4 To final2
If ComboBox2 <> datos.Cells(y, 6) Then

datos.Cells(final2, 6) = Usf_Gastos.ComboBox2 'Afeigexo restaurant
datos.Cells(final2, 7) = Usf_Gastos.TextBox20 'nif

salidas.Cells(final, 1) = Usf_Gastos.TextBox10 'numero orden
salidas.Cells(final, 2) = Usf_Gastos.TextBox18 'numero factura
salidas.Cells(final, 3) = Usf_Gastos.TextBox17 'fecha
salidas.Cells(final, 4) = Usf_Gastos.ComboBox2 'nombre
salidas.Cells(final, 5) = Usf_Gastos.TextBox20 'nif
salidas.Cells(final, 7) = Usf_Gastos.TextBox23 'importe neto
salidas.Cells(final, 8) = Usf_Gastos.TextBox21 'IGIC
salidas.Cells(final, 9) = Usf_Gastos.TextBox19 'total
salidas.Cells(final, 10) = Usf_Gastos.Label22 'concepto (no visible)

Else



'__________________________________________________________________
salidas.Cells(final, 1) = Usf_Gastos.TextBox10 'numero orden
salidas.Cells(final, 2) = Usf_Gastos.TextBox18 'numero factura
salidas.Cells(final, 3) = Usf_Gastos.TextBox17 'fecha
salidas.Cells(final, 4) = Usf_Gastos.ComboBox2 'nombre
salidas.Cells(final, 5) = Usf_Gastos.TextBox20 'nif
salidas.Cells(final, 7) = Usf_Gastos.TextBox23 'importe neto
salidas.Cells(final, 8) = Usf_Gastos.TextBox21 'IGIC
salidas.Cells(final, 9) = Usf_Gastos.TextBox19 'total
salidas.Cells(final, 10) = Usf_Gastos.Label22 'concepto (no visible)


Usf_Gastos.ComboBox2 = ""
Usf_Gastos.TextBox18 = ""
Usf_Gastos.TextBox17 = ""
Usf_Gastos.TextBox20 = ""
Usf_Gastos.TextBox21 = ""
Usf_Gastos.TextBox19 = ""
Usf_Gastos.TextBox23 = ""
Exit For
End If
Next
'Unload Me
End Sub
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 JuanC

RE:combobox y duplicados

Publicado por JuanC (565 intervenciones) el 16/12/2008 21:55:44
insisto... con eso sólo no puedo probar el código
no podés enviarme el archivo?

Saludos desde Baires, JuanC
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: 177
Bronce
Ha mantenido su posición en Visual Basic para Aplicaciones (en relación al último mes)
Gráfica de Visual Basic para Aplicaciones

RE:combobox y duplicados

Publicado por Albert (204 intervenciones) el 17/12/2008 09:10:10
Por supuesto te lo envio a tu e-mail
Gracias
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