Tengo una Optionbutton : necesito en una celda de excel que seria igual a un numero multiplicado por un textbox ...

Tengo una Optionbutton y necesito en una celda de excel sea igual a un numero multiplicado por un textbox, este Textbox puede contener decimales, así también en otra celda se realizaría la misma operación con otro textbox pero en forma de división como se ve en el ejemplo mostrado.

If OptionButton1.Value = True Then
Sheets("MKP").Range("G" & Bos_Satir).Value = Format(Val(TextBox273.Value) * 5000, "#") 'multilicacion
Sheets("MKP").Range("DU" & Bos_Satir).Value = Val(TextBox263.Value) / Format(Val(TextBox273) * 5000, "#") 'division
Sheets("Gantt End").Range("C18") = 1 ' 1 PERSON
ElseIf OptionButton2.Value = True Then
ElseIf OptionButton2.Value = True Then
Sheets("MKP").Range("G" & Bos_Satir).Value = Format(Val(TextBox273.Value) * 10000, "#") '10000 * Val(TextBox273.Value) '10000 m Kabel wären per 2 maschinen je schick geschniten
Sheets("MKP").Range("DU" & Bos_Satir).Value = Val(TextBox263.Value) / Format(Val(TextBox273.Value) * 10000, "#") '10000 * Val(TextBox273.Value) 'ZEIT KALKULATION
Sheets("Gantt End").Range("C18") = 2 '2PERSON
ElseIf OptionButton3.Value = True Then
Sheets("MKP").Range("G" & Bos_Satir).Value = Format(Val(TextBox273) * 15000, "#") '15000 * Val(TextBox273.Value)
Sheets("MKP").Range("DU" & Bos_Satir).Value = Val(TextBox263.Value) / Format(Val(TextBox273) * 15000, "#") '15000 * Val(TextBox273.Value) 'ZEIT KALKULATION
Sheets("Gantt End").Range("C18") = 3 '3 PERSON
End If
If CheckBox1.Value = True Then
Sheets("MKP").Range("G" & Bos_Satir).Value = Sheets("MKP").Range("G" & Bos_Satir).Value
Sheets("MKP").Range("DU" & Bos_Satir).Value = Sheets("MKP").Range("DU" & Bos_Satir).Value 'ZEIT KALKULATION
Sheets("Gantt End").Range("D18") = 1
ElseIf CheckBox1.Value = "" Then
End If
If CheckBox2.Value = True Then
Sheets("MKP").Range("G" & Bos_Satir).Value = 2 * Sheets("MKP").Range("G" & Bos_Satir).Value
Sheets("MKP").Range("DU" & Bos_Satir).Value = Sheets("MKP").Range("DU" & Bos_Satir).Value / 2 'ZEIT KALKULATION
Sheets("Gantt End").Range("D18") = 2
End If
If CheckBox3.Value = True Then
Sheets("MKP").Range("G" & Bos_Satir).Value = 3 * Sheets("MKP").Range("G" & Bos_Satir).Value
Sheets("MKP").Range("DU" & Bos_Satir).Value = Sheets("MKP").Range("DU" & Bos_Satir).Value / 3
Sheets("Gantt End").Range("D18") = 3
End If

Cual es la solución pues a mi no me funciona

1 respuesta

Respuesta
1

Como se ve en el ejemplo mostrado

¿Cuál ejemplo?



Cual es la solución pues a mi no me funciona

Y qué no te funciona, te aparece un error, ¿o qué resultado esperas?


Por último y no menos importante, el código lo debes insertar con el icono para Insertar código fuente.

Este es el ejemplo: en la celda c van los valores de textbox 273 mutiplicados por 5000 y este textbox puede puede contener decimales

if OptionButton1.Value = True Then
Sheets("MKP").Range("G" & Bos_Satir).Value = Format(Val(TextBox273.Value) * 5000, "#") 'multilicacion
Sheets("MKP").Range("DU" & Bos_Satir).Value = Val(TextBox263.Value) / Format(Val(TextBox273)*5000, "#") 'division

end if

PON EL CÓDIGO CON EL ICONO PARA INSERTAR CÓDIGO


En un "ejemplo" debes poner valores de ejemplo.

Te explico cómo debe mostrarse un ejemplo, para estas líneas:

  Sheets("MKP").Range("G" & Bos_Satir).Value = TextBox273.Value * 5000
  Sheets("MKP").Range("DU" & Bos_Satir).Value = TextBox263.Value / TextBox273 * 5000

Si el TextBox273 tiene el valor 12.56789 * 5000 el resultado es 62839.45 

¿A mi en la celda me aparece 62839.45 a ti qué te aparece en la celda?

¡Gracias!

Dante muchas Gracias. Rápida respuesta

Eusebio

Dante, te enviare una pregunta que va relacionada con ordenar una tabla de excel, ese código lo copie de ti pero no me funciona mira la pregunta que voy hacer

Gracias

Eusebio

existe alguna forma de limitar el numero decimal en este caso

Eusebio

¿En el textbox?

si

Al momento de captura o al momento de realizar a operación

Prueba esto para el textbox1 con 2 decimales:

Private Sub OnlyNumbers()
  Dim lDecPoint As Long
  If TypeName(Me.ActiveControl) = "TextBox" Then
    With Me.ActiveControl
      If Not IsNumeric(.Value) And Len(.Value) > 0 Then
        .Value = Left(.Value, Len(.Value) - 1)
      Else
        lDecPoint = InStr(.Value, ".")
        If lDecPoint > 0 And Len(.Value) - lDecPoint >= 2 Then
          .Value = Left(.Value, lDecPoint + 2)
        End If
      End If
    End With
  End If
End Sub
Private Sub TextBox1_Change()
  Call OnlyNumbers
End Sub

Añade tu respuesta

Haz clic para o

Más respuestas relacionadas