Formato Número en Text Box
Soy un poco nuevo en esto del Visual Basic, así que voy a dar todos los datos posibles. Tengo el Office 2007 en la versión en inglés. Según he comprobado en "abour", la versión de VB que tengo es la 6.5.
Estoy tratando de crear un formulario (userform) para introducir datos en una hoja de Excel 2007. El problema viene cuando trato de meter datos numéricos. Una de las TextBox es para introducir importes y otra para tipos de interés. Al hacerlo con:
Private Sub TextBox7_Change()
Sheets("PARAMETRIZACION INVERSIONES").Select
Range("G5").Select
ActiveCell.FormulaR1C1 = TextBox7
End Sub
El resultado es en formato texto. He estado buscando en la ayuda de VB y en internet. De todo lo que he encontrado, lo máximo que he conseguido ha sido que los datos salgan con los puntos y las comas de miles y decimales, pero sigue estando en formato texto. He usado esto:
Private Sub TextBox7_Exit(ByVal Cancel As MSForms.ReturnBoolean)
TextBox7 = Format(TextBox7, "#,##0.00")
End Sub
He visto que se recomienda usar MaskedTextBox, pero no lo encuentro por ningún lado. No está en la toolbox y en ningún menú. Buscando, he visto que había que activar un componente: System. Windows. Forms.dll, pero no parece haber ningún cambio después de hacerlo. En otros sitios hablan de buscar la propiedad "dataformat" del TextBox, pero esa propiedad no la tengo por ningún sitio.
He visto también algunas soluciones con un buen chorro de código, que he probado cambiando alguna cosilla para que me funcionara, pero nada (no descarto que por falta de conocimientos, claro). Resumiendo, quiero que salgan en formato número pero salen en text. ¿Me puedes echar una mano?
Estoy tratando de crear un formulario (userform) para introducir datos en una hoja de Excel 2007. El problema viene cuando trato de meter datos numéricos. Una de las TextBox es para introducir importes y otra para tipos de interés. Al hacerlo con:
Private Sub TextBox7_Change()
Sheets("PARAMETRIZACION INVERSIONES").Select
Range("G5").Select
ActiveCell.FormulaR1C1 = TextBox7
End Sub
El resultado es en formato texto. He estado buscando en la ayuda de VB y en internet. De todo lo que he encontrado, lo máximo que he conseguido ha sido que los datos salgan con los puntos y las comas de miles y decimales, pero sigue estando en formato texto. He usado esto:
Private Sub TextBox7_Exit(ByVal Cancel As MSForms.ReturnBoolean)
TextBox7 = Format(TextBox7, "#,##0.00")
End Sub
He visto que se recomienda usar MaskedTextBox, pero no lo encuentro por ningún lado. No está en la toolbox y en ningún menú. Buscando, he visto que había que activar un componente: System. Windows. Forms.dll, pero no parece haber ningún cambio después de hacerlo. En otros sitios hablan de buscar la propiedad "dataformat" del TextBox, pero esa propiedad no la tengo por ningún sitio.
He visto también algunas soluciones con un buen chorro de código, que he probado cambiando alguna cosilla para que me funcionara, pero nada (no descarto que por falta de conocimientos, claro). Resumiendo, quiero que salgan en formato número pero salen en text. ¿Me puedes echar una mano?
1 respuesta
Respuesta de Roberto Alvarado
1