ExcelBanter

ExcelBanter (https://www.excelbanter.com/)
-   Excel Programming (https://www.excelbanter.com/excel-programming/)
-   -   VBA question - Percentages in text box (https://www.excelbanter.com/excel-programming/296951-vba-question-percentages-text-box.html)

ajliaks[_16_]

VBA question - Percentages in text box
 
Hi

I need to input data in percentage format, like this: 50.5%

Which code can I use? I also want to prevent user of inputing wron
data.

Private Sub PercentTB_KeyPress(ByVal KeyAscii A
MSForms.ReturnInteger)
If ((KeyAscii < Asc("0")) Or (KeyAscii Asc("9"))) Then
If (KeyAscii < 0) Or (KeyAscii 1) Then
KeyAscii = 0
End If
End If
'MsgBox PercentTB.Value
End Su

--
Message posted from http://www.ExcelForum.com


Tom Ogilvy

VBA question - Percentages in text box
 
Private Sub PercentTB_Exit(ByVal Cancel As MSForms.ReturnBoolean)
PercentTB.Text = Format(csng(PercentTB.Text),"#0.#%)
End Sub

Private Sub PercentTB_KeyPress(ByVal KeyAscii As _
MSForms.ReturnInteger)
If KeyAscii < Asc("0") Or KeyAscii Asc("9") Then
if KeyAscii < asc(Application.international( _
xlDecimalSeparator)) then ' allow decimal separator
KeyAscii = 0
End If
End If
'MsgBox PercentTB.Value
End Sub

Not sure what values you want to allow. Will they enter a percent or a
decimal?

--
Regards,
Tom Ogilvy




"ajliaks " wrote in message
...
Hi

I need to input data in percentage format, like this: 50.5%

Which code can I use? I also want to prevent user of inputing wrong
data.

Private Sub PercentTB_KeyPress(ByVal KeyAscii As
MSForms.ReturnInteger)
If ((KeyAscii < Asc("0")) Or (KeyAscii Asc("9"))) Then
If (KeyAscii < 0) Or (KeyAscii 1) Then
KeyAscii = 0
End If
End If
'MsgBox PercentTB.Value
End Sub


---
Message posted from http://www.ExcelForum.com/





All times are GMT +1. The time now is 04:43 PM.

Powered by vBulletin® Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
ExcelBanter.com