Format Cell

  • Thread starter Thread starter bennetto
  • Start date Start date
I guess I meant validation but I didn't know it. Mike H's answer worked.
Thank you both for your help!
 
I guess I meant validation but I didn't know it. Mike H's answer worked.
Thank you both for your help!
 
Are you sure you're willing to put up with typing 31 letters and getting the
error message which tells you to do it all over again?

I would use event code which limits the text to 30 characters or less
without the annoying message DV provides.

Example code...................no error trapping for text or dates

Private Sub Worksheet_Change(ByVal Target As Range)
Const WS_RANGE As String = "A1:A10" 'edit to suit
Dim cell As Range
On Error GoTo ws_exit:
Application.EnableEvents = False

If Not Intersect(Target, Me.Range(WS_RANGE)) Is Nothing Then
With Target
If Len(.Value) > 30 Then
.Value = Left(.Value, 30)
End If
End With
End If

ws_exit:
Application.EnableEvents = True
End Sub


Gord Dibben MS Excel MVP
 
Are you sure you're willing to put up with typing 31 letters and getting the
error message which tells you to do it all over again?

I would use event code which limits the text to 30 characters or less
without the annoying message DV provides.

Example code...................no error trapping for text or dates

Private Sub Worksheet_Change(ByVal Target As Range)
Const WS_RANGE As String = "A1:A10" 'edit to suit
Dim cell As Range
On Error GoTo ws_exit:
Application.EnableEvents = False

If Not Intersect(Target, Me.Range(WS_RANGE)) Is Nothing Then
With Target
If Len(.Value) > 30 Then
.Value = Left(.Value, 30)
End If
End With
End If

ws_exit:
Application.EnableEvents = True
End Sub


Gord Dibben MS Excel MVP
 
Back
Top