Here's a slightly modified version of what have...
If you enter a value GREATER than 12, it will prompt you to convert the inches to feet.
Private Sub txtLengthIn_Change()
Dim vbResult As Long
If txtLengthIn.Value >= 12 Then
vbResult = MsgBox("Since you're attempting to enter a value GREATER than 12, would you like to convert it to FEET?", vbQuestion + vbYesNo, "Way to go!")
If vbResult = vbYes Then
MsgBox "Converted value = " & txtLengthIn / 12
ElseIf vbResult = vbNo Then
MsgBox "Start over!"
txtLengthIn.Text = "0"
txtLengthIn.SelStart = 0
txtLengthIn.SelLength = txtLengthIn.TextLength
End If
End If
End Sub
This will allow you to add a PERIOD in the number (in case you don't work with whole inches).
Private Sub txtLengthIn_KeyPress(ByVal KeyAscii As MSForms.ReturnInteger)
If InStr(1, txtLengthIn.Text, ".") > 0 And KeyAscii = Asc(".") Then
KeyAscii = 0
Exit Sub
End If
Select Case KeyAscii
Case Asc("0") To Asc("9"), Asc(".")
Case Else
KeyAscii = 0
End Select
End Sub
Just something else you might want to think about.