Private Declare Function GetWindowLong Lib "user32" Alias "GetWindowLongA" _ (ByVal hWnd As Long, ByVal nIndex As Long) As LongPrivate Declare Function SetWindowLong Lib "user32" Alias "SetWindowLongA" _ (ByVal hWnd As Long, ByVal nIndex As Long, ByVal dwNewLong As Long) As Long' Force a TextBox control to accept only numeric digits' Cancel the effect by passing Force = False'' Note that it only accepts positive integer valuesSub ForceTextBoxNumeric(TextBox As TextBox, Optional Force As Boolean = True) Dim style As Long Const GWL_STYLE = (-16) Const ES_NUMBER = &H2000 ' get current style style = GetWindowLong(TextBox.hWnd, GWL_STYLE) If Force Then style = style Or ES_NUMBER Else style = style And Not ES_NUMBER End If ' enforce new style SetWindowLong TextBox.hWnd, GWL_STYLE, styleEnd Sub