Predeterminar formato numérico de Textbox
Linda...!
Tengo un formulario con unos 60 textbox aproximadamente, en los que ingreso números exclusivamente.
Además, están vinculados entre ellos. Es decir, algunos deben sumarse a medida que ingreso información y arrojar el resultado en otro textbox.
Para hacer más útil el formulario, deseo hacer que cada uno de esos textbox, acepte sólo números y que los muestre con un punto como separador de miles. Luego, al darle click a un botón, me guarde las cifras en ciertas celdas de una planilla.
Tuve que hacer un código como el siguiente para los cambios en cada textbox:
Private Sub NPT107_Change()
NPT107.Text = Format(NPT107.Text, "#,#")
tot = 0
For i = 107 To 116
tot = tot + Val(Format(Me.Controls("NPT" & i).Text, "##"))
Next
Me.NPT117.Text = tot
Me.PT5.Text = NPT117.Text
End Sub
Y para que guarde debidamente las cifras de cada uno de ellos (es decir, que no tome el punto como separador de decimales; sino de miles), algo como lo siguiente:
For i = 120 To 131
Cells(i, ColSel).Value = Format(Me.Controls("NPT" & i).Text, "##")
Next
Ahora debo codificar la parte correspondiente para que evalúe si la información ingresada son números y en caso que no lo sean, me arroje una advertencia. Creo que podría hacerlo.
No obstante, quiero saber si hay manera de simplificar y/o acelerar todo esto, porque la PC se toma un tiempo interesante en procesar la información.