Como reconocer cuando no se ha seleccionado ningún item en un ListBox

27/02/2007 - 00:19 por Insumos | Informe spam
Hola Gente del Foro:

Tengo el siguiente problemilla en un UserForm. El formulario se usa para
volcar datos a una base al apretar un CommanButton, que activa el código que
vuelca los datos ingresados en los distintos TextBox, ComboBox y un ListBox.
He puesto una traba para que no se permita aceptar registros que tengan
alguno de los datos en blanco. Hasta ahi todo bien, nada más que la traba
funciona para los TextBox y ComboBox, pero no para el ListBox. Lo que yo
quiero es que cuando no se seleccione ningún item del ListBox al apretar el
CommandButton el código se "de cuenta" de tal situación para que pueda
actuar en consecuencia.
Yo uso este tipo de código:
If ListBox1 = Empty Then "acción a realizar"
...el cual funciona para los TextBox y ComboBox pero no para el ListBox
Abajo incluyo el código que hize. Que estoy haciendo mal y porque funciona
para los TextBox y ComboBox y no para el ListBox?
Espero me haya explicado bien.
Desde ya muchas gracias.
Saludos!!

Private Sub CommandButton1_Click()

Dim Numero As Long
Dim FemisioN As Date
Dim FvtO As Date

Application.ScreenUpdating = False

If ListBox1 = Empty Then GoTo 100
If TextBox1 = Empty Then GoTo 100
If TextBox2 = Empty Then GoTo 100
If ComboBox10 = Empty Then GoTo 100
If ComboBox11 = Empty Then GoTo 100
If ComboBox12 = Empty Then GoTo 100
If ComboBox13 = Empty Then GoTo 100
If ComboBox14 = Empty Then GoTo 100
If ComboBox15 = Empty Then GoTo 100
If ComboBox16 = Empty Then GoTo 100

Sheets("Ajustes").Select
Range("C1").Select
Do While ActiveCell <> Empty
ActiveCell.Offset(1, 0).Select
Loop

ActiveCell.FormulaR1C1 = ListBox1
ActiveCell.Offset(0, 1).Select
FemisioN = ComboBox11 + "/" + ComboBox12 + "/" + ComboBox13
ActiveCell.FormulaR1C1 = FemisioN
ActiveCell.Offset(0, 1).Select
Numero = TextBox1
ActiveCell.FormulaR1C1 = Numero
ActiveCell.Offset(0, 2).Select
ActiveCell.FormulaR1C1 = ComboBox10
ActiveCell.Offset(0, 2).Select
FvtO = ComboBox14 + "/" + ComboBox15 + "/" + ComboBox16
ActiveCell.FormulaR1C1 = FvtO
ActiveCell.Offset(0, 2).Select
ActiveCell.FormulaR1C1 = TextBox2

ListBox1 = Empty
TextBox1 = Empty
TextBox2 = Empty
ComboBox10 = Empty
ComboBox11 = Empty
ComboBox12 = Empty
ComboBox13 = Empty
ComboBox14 = Empty
ComboBox15 = Empty
ComboBox16 = Empty

Application.ScreenUpdating = True
GoTo 200

100
UserForm4.Hide
Load UserForm5
UserForm5.Show

200
UserForm4.Hide
Sheets("Controles").Select
Range("A1").Select

End Sub


CONTADURIA
 

Leer las respuestas

#1 David
27/02/2007 - 00:46 | Informe spam
Prueba utilizar algo como:

If ListBox1.ListIndex = -1 Then "acción a realizar"

Saludos.



"Insumos" escribió:

Hola Gente del Foro:

Tengo el siguiente problemilla en un UserForm. El formulario se usa para
volcar datos a una base al apretar un CommanButton, que activa el código que
vuelca los datos ingresados en los distintos TextBox, ComboBox y un ListBox.
He puesto una traba para que no se permita aceptar registros que tengan
alguno de los datos en blanco. Hasta ahi todo bien, nada más que la traba
funciona para los TextBox y ComboBox, pero no para el ListBox. Lo que yo
quiero es que cuando no se seleccione ningún item del ListBox al apretar el
CommandButton el código se "de cuenta" de tal situación para que pueda
actuar en consecuencia.
Yo uso este tipo de código:
If ListBox1 = Empty Then "acción a realizar"
el cual funciona para los TextBox y ComboBox pero no para el ListBox
Abajo incluyo el código que hize. Que estoy haciendo mal y porque funciona
para los TextBox y ComboBox y no para el ListBox?
Espero me haya explicado bien.
Desde ya muchas gracias.
Saludos!!

Private Sub CommandButton1_Click()

Dim Numero As Long
Dim FemisioN As Date
Dim FvtO As Date

Application.ScreenUpdating = False

If ListBox1 = Empty Then GoTo 100
If TextBox1 = Empty Then GoTo 100
If TextBox2 = Empty Then GoTo 100
If ComboBox10 = Empty Then GoTo 100
If ComboBox11 = Empty Then GoTo 100
If ComboBox12 = Empty Then GoTo 100
If ComboBox13 = Empty Then GoTo 100
If ComboBox14 = Empty Then GoTo 100
If ComboBox15 = Empty Then GoTo 100
If ComboBox16 = Empty Then GoTo 100

Sheets("Ajustes").Select
Range("C1").Select
Do While ActiveCell <> Empty
ActiveCell.Offset(1, 0).Select
Loop

ActiveCell.FormulaR1C1 = ListBox1
ActiveCell.Offset(0, 1).Select
FemisioN = ComboBox11 + "/" + ComboBox12 + "/" + ComboBox13
ActiveCell.FormulaR1C1 = FemisioN
ActiveCell.Offset(0, 1).Select
Numero = TextBox1
ActiveCell.FormulaR1C1 = Numero
ActiveCell.Offset(0, 2).Select
ActiveCell.FormulaR1C1 = ComboBox10
ActiveCell.Offset(0, 2).Select
FvtO = ComboBox14 + "/" + ComboBox15 + "/" + ComboBox16
ActiveCell.FormulaR1C1 = FvtO
ActiveCell.Offset(0, 2).Select
ActiveCell.FormulaR1C1 = TextBox2

ListBox1 = Empty
TextBox1 = Empty
TextBox2 = Empty
ComboBox10 = Empty
ComboBox11 = Empty
ComboBox12 = Empty
ComboBox13 = Empty
ComboBox14 = Empty
ComboBox15 = Empty
ComboBox16 = Empty

Application.ScreenUpdating = True
GoTo 200

100
UserForm4.Hide
Load UserForm5
UserForm5.Show

200
UserForm4.Hide
Sheets("Controles").Select
Range("A1").Select

End Sub


CONTADURIA



Preguntas similares