Como realizar en un textBox % y en la celda del excel sea %

Haber si alguien me puede ayudar.

Tengo un UserForm que en un TextBox puedo cambiar %, pero en la celda del excel cambia el numero pero no ejecuta que es %, os adjunto imagenes.

Tal como

Tal como podéis ver lo que realiza es una multiplicación de P58 * O57 no un porcentaje.

1 Respuesta

Respuesta
1

Tienes un numero entero para pasarlo a porcentaje necesitas que la macro haga una división entre 100 para que se capture 0.4 en la celda O57 y de esta manera la fórmula en la hoja de haga el calculo correcto.

Gracias por tu respuesta y es correcta.

Ya se que 40% = 0,40, pero no tiene que ser así por que en el TextBox le esta informando y insertando que es un 40% no 0,40%.

En excel tienes formato de celdas y escoges porcentaje para que aparezca 40% así de vería ser en el textBox.

Haber si tu sabes algún procedimiento que pueda en mi textBox poner 40 y ejecute 40%

Gracias por la atención

Este es un ejemplo en la imagen puedes ver que el formulario pongo un porcentaje en números enteros y este pasa a la hoja como porcentaje en decimales, sin mostrar el código con el que trabajas es difícil darte una solución o ver porque esta pasando un numero entero a la hoja en vez de un decimal

Este es el código, colo cambia el textbox1.text por el nombre que tengas asignado en tu textbox

Private Sub TextBox1_AfterUpdate()
porciento = TextBox1.Text / 100
Range("e4") = porciento
End Sub

Hola James Bond

Lo he probado y me sale lo siguiente, no se si esto haciéndolo mal o no me explicado bien.

Esta aquí parece todo correcto, pero vuelves abrir el UserFrom y ha cambiado de 40 % a 0,40%, en la hoja del excel sigue manteniéndose el 40,00% OK

Yo lo que quiero es que en el TextBox salga 40 %.

Es posible realizar lo que estoy pidiendo.

Un saludo

Te adjunto códigos

Private Sub TextMargen_AfterUpdate()
porciento = TextMargen.Text / 100
Sheets("Hoja1").[O59] = porciento
Sheets("Hoja13").[O59] = porciento
Sheets("GRUPO1").[O59] = porciento
Sheets("GRUPO2").[O59] = porciento
Sheets("GRUPO3").[O59] = porciento
Sheets("GRUPO4").[O59] = porciento
Sheets("GRUPO5").[O59] = porciento
Sheets("GRUPO6").[O59] = porciento
Sheets("GRUPO7").[O59] = porciento
Sheets("GRUPO8").[O59] = porciento
End Sub

Me se había olvidado 

Un saludo

Este es un ejemplo de como se logra lo que quieres, cuando abres el formulario se carga en automático el valor ya convertido a porcentaje

Private Sub UserForm_Initialize()
porciento = Format(Range("d3"), "0.00%")
TextBox1.Text = porciento
End Sub

Añade tu respuesta

Haz clic para o

Más respuestas relacionadas