Sumar dentro de un textbox

Tengo un textbox y quiero ingresar por ejemplo 1+3+6-2 y que apretando enter me de el resultado 8 en el mismo textbox. Alguien que me pueda ayudar

3 respuestas

Respuesta
3

Tampoco soy experto en Excel pero para no responder incoherencias consulté ChatGTP me ha dado la solución.

Puede lograr esta funcionalidad en VBA utilizando la función Evaluate, que permite evaluar expresiones matemáticas ingresadas en un Textbox

Le dejo el código de ejemplo:

Private Sub TextBox1_KeyDown(ByVal KeyCode As MSForms.ReturnInteger, ByVal Shift As Integer)
    ' Verifica si se presionó la tecla Enter
    If KeyCode = vbKeyReturn Then
        ' Intenta evaluar la expresión matemática
        On Error Resume Next ' Ignora errores si la expresión no es válida
        TextBox1.Value = Evaluate(TextBox1.Value)
        On Error GoTo 0 ' Restablece el manejo de errores
    End If
End Sub

Explicación del Código

  • KeyDown: Detecta si se presiona una tecla cuando el cursor está en el Textbox.
  • KeyCode = vbKeyReturn: Verifica si la tecla Enter fue presionada.
  • Evaluate: Convierte la expresión en una operación matemática.
  • On Error Resume Next: Evita errores si la expresión es inválida.

Lo probé y no solamente puede sumar, puede combinar algo como 2*9-10/2 y al dar Enter da 13.

Respuesta
2

No tengo ni idea de Excel, pero seria conveniente que dijeras si los "sumandos" van a ser siempre menores de 10, por ejemplo, 6+4+3+8, o si pueden ser 15+7+10+2. También convendría que dijeras si siempre van a ser 4 sumandos o pueden ser más o menos, ya que soluciones hay mil.

Por ejemplo, supongamos que tienes un cuadro de texto Texto4, puedes crear una macro( creo que en Excel son macros)y poner

Private Sub Texto4_AfterUpdate()
Texto4 = CByte(Left([Texto4], 1)) + CByte(Mid([Texto4], 3, 1)) + CByte(Mid([Texto4], 5, 1)) + CByte(Right([Texto4], 1))
End Sub

De forma que si escribes 1+2+3+4 cuando pulses Enter( o te vayas o otro control) te hace la suma de esos dígitos y te aparece un 10.

Pero como te decía hay mil soluciones.

Hola juliqan es en excel, lo que necesito es que función como en las celadas, funcione como una calculdor pueda sumar o restar y me tire el total

En ese caso, te aconsejaría que le preguntaras directamente a Dante Amor o Elsa Matilde, son los auténticos fieras de Excel

Respuesta
1

I. Hola Eduardo, aunque no soy usuario de Excel ni de VBA, quisiera facilitarle la información que vi sobre esta posibilidad (o aproximaciones), por si pudiese serle de alguna utilidad mientras le atiende una persona conocedora de primera mano.

Le ruego me disculpe todas las molestias y el tipo de respuesta, ánimo.I

https://stackoverflow-com.translate.goog/questions/6619299/put-text-in-textbox?_x_tr_sl=en&_x_tr_tl=es&_x_tr_hl=es&_x_tr_pto=sc 

https://stackoverflow.com/questions/49933903/is-it-possible-to-put-element-inside-input-field 

https://forum.xojo.com/15337-sumar-valores-en-un-listbox/0 

https://blog-hubspot-com.translate.goog/website/html-text-box?_x_tr_sl=en&_x_tr_tl=es&_x_tr_hl=es&_x_tr_pto=sc 

http://www.lawebdelprogramador.com/foros/Visual-Basic/50221-sumar-todos-los-campos-de-un-listbox.html 

https://www-vbforums-com.translate.goog/showthread.php?776161-How-to-Insert-Label-inside-Textbox-in-vb&_x_tr_sl=en&_x_tr_tl=es&_x_tr_hl=es&_x_tr_pto=sc 

https://es.stackoverflow.com/questions/65498/c%C3%B3mo-puedo-sumar-los-valores-de-dos-textbox-y-mostrarlos-en-un-tercero 

https://www.youtube.com/watch?v=s_AYZneZSow 

https://www.youtube.com/watch?v=-FdAT7dBipI 


Añade tu respuesta

Haz clic para o

Más respuestas relacionadas