Dividir por número de textbox rellenos la suma de una columna de un listbox

Espero puedan ayudarme

Necesito dividir el resultado de una columna de un listbox1 entre un numero de determinado de textbox rellenos.

Osea, si hay dos en 2 textbox lo divida por 2 y si hay datos en 3 lo divida por 3.

Gracias. Adjunto el código de suma del el listbox1

Private Sub tiempos()
For i = 0 To ListBox1.ListCount - 1     'ajustar nbre del control ListBox
tot = tot + Val(ListBox1.List(i, 9))  'ajustar nbre y nro de col, aquí el 2 representa la 3er col
Next i
TextBox1 = tot
TextBox1 = Replace(TextBox1, ".", Application.DecimalSeparator)
End Sub

SL2

1 Respuesta

Respuesta
1

¿Ya sabes cuántos textbox son en total?

Estoy imaginando algo así, donde hay varios textbox pero no todos rellenos. Y con distinto tipo de información.

¿En este ejemplo se debiera dividir por 4?... comentame si es correcta la idea para terminar tu código.

Buenos días 

Son 3  combobox. el formulario tiene un restricción que obliga a que los 2 primeros siempre se rellenen y el tercero se puede rellenar a veces.

los datos que contiene esta en formato texto.( Nombre propios)

Gracias

Entiendo que estamos hablando de TextBox... no Combobox.

Pruébalo de este modo, ajustando el nombre del control:

Private Sub tiempos()
For i = 0 To ListBox1.ListCount - 1     'ajustar nbre del control ListBox
    tot = tot + Val(ListBox1.List(i, 9))  'ajustar nbre y nro de col, aquí el 2 representa la 3er col
Next i
'evaluar si el tercer textbox está vacío o no
If TextBox3 = "" Then
    tot = tot / 2
Else
    tot = tot / 3
End If
'vuelca resultado en el control
TextBox1 = tot
TextBox1 = Replace(TextBox1, ".", Application.DecimalSeparator)
End Sub

Sdos!

¡Gracias! 

Disculpa son combobox. La división por 2 la hace sin problemas. Por 3 no la hace , no se si es por que es un combobox o por que el listbox1 se carga antes de poder rellenar el combobox3.

Comprende que el tiempo es escaso ... más precisión por favor !

Tu consulta:

Necesito dividir el resultado de una columna de un listbox1 entre un numero de determinado de textbox rellenos.

Osea, si hay dos en 2 textbox lo divida por 2 y si hay datos en 3 lo divida por 3.

¿Dice Textbox verdad? Reemplaza en la macro el texto 'TextBox' por el nombre de tus controles.

Y por supuesto que no se podrá evaluar todavía la cantidad de controles llenos... en este evento.

Tendrá que ser en otro, por ejemplo en un botón para guardar, o en el evento Exit del combo3... o en algún proceso que tengas a continuación del llenado del combo3.

No tengo tanta información como para precisar dónde colocar las nuevas instrucciones. Pero todo este código...

'evaluar si el tercer textbox está vacío o no
If TextBox3 = "" Then
    tot = tot / 2
Else
    tot = tot / 3
End If
'vuelca resultado en el control
TextBox1 = tot
TextBox1 = Replace(TextBox1, ".", Application. DecimalSeparator)

irá en el proceso luego de que completes el combo3... salvo que puedas completarlo antes y ya te evitas este rollo.

Sdos!

Añade tu respuesta

Haz clic para o

Más respuestas relacionadas