En este grupo En todos

Foro de Excel



Textbox Formato porcentaje (%)

Jairo Alonso
Contaduria publica universidad central
Escrito por Jairo Alonso Contreras
el 28/01/2010

Buenas tardes

Tengo un Textbox en un Userform el cual quiero parametrizar para que en su contenido solo se manejen porcentajes (%)

Preguntas

1. ) Como puedo parametrizarlo para solo porcentaje (%)

2. ) Al momento que yo quiera pegar la informacion en una celda en excel ejemplo ("A1"), para que pegue como porcentaje (%)

Ejemplo: Range("A1") = Textbox1

3. ) Al momento que quiera consultar el valor de esa celda en un Textbox de otro Userform, Para que este siga manejando el (%)

Ejemplo: Textbox1= Range("A1" )

Muchas Gracias


Att:


Jairo A

Cacho Rodríguez
Ingeniería electrónica universidad nac...
Escrito por Cacho Rodríguez
el 28/01/2010

2) Range("A1") = CDbl(TextBox1) / 100
La celda [A1] debe estar en porcentaje

3) TextBox1 = Format( Range("A1"), "0. 00%")

Saludos, Cacho.

Jairo Alonso Contreras
Contaduria publica universidad central
Escrito por Jairo Alonso Contreras
el 28/01/2010

Hola Cacho

gracias por tu respuesta..

Otra pregunta,

Al momento de que se este trabajando sobre el textbox, como puedo controlar que la in formacion que se ponga sea porcentaje, y que visualmente en el textbox se vea el (%) del numero que se incorpora... Ejemplo

El usuario pone 8...... Que se vea 8%
El usuario pone 1. 44...... Que se vea 1,44%


muchas gracias

Abraham Valencia
Computacion e informatica microsoft mv...
Escrito por Abraham Valencia
el 28/01/2010

Un modo:

Private Sub TextBox1_Exit(ByVal Cancel As MSForms. ReturnBoolean)
TextBox1 = Format(TextBox1 / 100, "percent")
End Sub


Abraham

Jairo Alonso Contreras
Contaduria publica universidad central
Escrito por Jairo Alonso Contreras
el 28/01/2010

Muchas gracias Abraham

Pregunta formato numerico

es justo lo que necesitaba.... Que pena hacer tantas preguntas , pero tengo un caso, es el siguiente:

para darle formato a un textbox, con el objetivo de que se vea numerico yo les aplico esto:


textbox1 = Format(textbox1, "###,###,###")

que para un valor como 1000000 se ve 1.000.000

el problema esta cuando pego el valor a una celda en una hoja con el codigo

Range("A1" ) = Val(textbox1)

por que lo que finalmente pega en la celda es el numero 1,00 y no 1.000.000

Pregunta:

como puedo hacer para que pegue el valor correctamente?
que tengo mal?

muchas gracias

Att:


Jairo A




Abraham Valencia
Computacion e informatica microsoft mv...
Escrito por Abraham Valencia
el 28/01/2010

Yo lo dejaria asi:

Private Sub CommandButton1_Click()
Range("c1") = CDbl(TextBox1)
End Sub


Private Sub TextBox1_Exit(ByVal Cancel As MSForms. ReturnBoolean)
TextBox1 = Format(TextBox1, "#,##0")
End Sub

OJO, Cacho ya te habia colocado lo de CdBl... A, claro, tu si quieres dejalo con el formato que has enviado, pero es algo, digamos, redundante. Otra cosa importante, no olvidemos que los objetos TetxBox, como su nombre lo dice son "cajas de TEXTO", no estan hechos especialmente para numeros, por eso tanto dilema al trabajar con ellos y con formatos numericos

Abraham

Jairo Alonso Contreras
Contaduria publica universidad central
Escrito por Jairo Alonso Contreras
el 28/01/2010

Hola Abraham

Gracias por tu respuesta

Si Trabajar con los textbox es complicado cuando hablamos de numeros y formatos....

Abraham, no me funciono, al momento que lo realizo con un numero ejemplo:

70000

al aplicar

Private Sub TextBox1_Exit(ByVal Cancel As MSForms. ReturnBoolean)
TextBox1 = Format(TextBox1, "#,##0")
End Sub

el numero queda 70. 000

eso es perfecto-...

pero... Cuando lo pego a la celda con el codigo

Private Sub CommandButton1_Click()
Range("c1") = CDbl(TextBox1)
End Sub

El pega como resultado el numero 70 y no 70. 000 o 70000

que puedo hacer, depronto tengas otra alternativa, o estare haciendo algo mal

gracias por tu respuesta

Att:

Jairo A

Cacho Rodríguez
Ingeniería electrónica universidad nac...
Escrito por Cacho Rodríguez
el 29/01/2010

Jairo:
En la Configuración Regional de tu PC, ¿Tienes al ". " como símbolo decimal y a la "," como símbolo separador de miles?

Si no lo sabes averiguar, simplemente escribe en una celda:
= 20000 / 7

dale formato de número con dos decimales y usando separador de miles, y publica aquí lo que se ve en pantalla.

Saludos, Cacho.

Abraham Valencia
Computacion e informatica microsoft mv...
Escrito por Abraham Valencia
el 29/01/2010

OJO, los formatos en VBA son "unicos", es decir, si yo uso:

TextBox1 = Format(TextBox1, "#,##0")

En el textbox colocara "comas" para los miles si asi esta en mi configuraicon regional, o colocara "puntos" para los miles si asi esta en dicha configuracion.

Que puede estar pasando? Mismo simbolo para miles y decimales en la configuracion regional? Estara activado el "numero fijo de decimales"?

Abraham

Jairo Alonso Contreras
Contaduria publica universidad central
Escrito por Jairo Alonso Contreras
el 02/02/2010

Hola

Ya vi la configuracion regional, y esta como

(,) coma divisor de decimales
(. ) punto divisor de miles

pero sique sin funcionarme, cuando le doy el formato

TextBox1 = Format(TextBox1, "#,##0")

el se muestra en el userform como (. ) punto divisor de miles,

pero cuando lo pego a la hoja de calculo no me permite usar la obcion CDbl me sale un error, y cuando lo cambio por Val si me deja seguir pero me pega los numeros que tenian divisor de miles como decimales

Ejemplo :

Se ve en el userform - textbox "200. 000"
y lo pega a la hoja de calculo como "200,0

No se por que , ya intente de maneras diferentes , pero por todas me da el mismo resultado

y, ¿Por que no me dejara usar CDbl?

no entiendo que estoy haciendo mal

Nota: Que pena la demora con el debate!



gracias


Att:

Jairo A


Abraham Valencia
Computacion e informatica microsoft mv...
Escrito por Abraham Valencia
el 02/02/2010

Ya, resolviste una de mis preguntas y obviamente eso no es, y supongo que lo del "numero fijo de decimales" tampoco ( ¿Lo verificaste? ), pero, verificaste que tu Excel este con la opcion "Usar separadores de sistema" activa? Ah, y que tienes en el formato de la celda?

Abraham

Jairo Alonso Contreras
Contaduria publica universidad central
Escrito por Jairo Alonso Contreras
el 02/02/2010

Hola

En la parte de la configuracion de mi excel se encuetra

Usar separadores del sistema = Activa
en el formato de la celda esta con 2 decimales
Insertar Automaticamente un punto decimal = (Apagada)

Espero que me puedas ayudar

Gracias por la atencion

Att:

Jairo A

Abraham Valencia
Computacion e informatica microsoft mv...
Escrito por Abraham Valencia
el 02/02/2010

Hummm.... Probaste esas mismas cosas en archivos limpios/nuevos? Si el resultado NO es el mismo, ufff, era el archivo, si el resultado ES el mismo... Pues suberlo a la seccion documentos para verlo... No olvides indicar donde estan los problemas

Abraham

Jairo Alonso Contreras
Contaduria publica universidad central
Escrito por Jairo Alonso Contreras
el 02/02/2010

Hola Abraham

Con respecto a la multiplicacion de los textbos con los decimales, ya detecte cual era el error, y era algo que no les escribi en el debate , era lo siguiente:

el textbox2 tenia no solo el valor numerico con decimales, tambien tenia un "%" y este no deja que se ejecute el comando, por tanto eliminando el "%" se deja ejecutar

y con el otro tema el cual no me deja pegar de manera correcta los valores dame un segundo y ya subo un ejemplo!


Muchas gracias


Att:

Jairo A

Jairo Alonso Contreras
Contaduria publica universidad central
Escrito por Jairo Alonso Contreras
el 02/02/2010

Hola Abraham

En conclucion , Definitivamente la solucion a mi problema fue:

CDbl

Caho lo nombro desde el principio... Solo que yo no suoe aplicarlo


Muchas Gracias por la ayuda

Att:


Jairo A