+ Reply to Thread
Results 1 to 6 of 6

New Validation option to format 1st letter as Capital letter

Hybrid View

  1. #1
    Bob Phillips
    Guest

    Re: New Validation option to format 1st letter as Capital letter

    Private Sub Worksheet_Change(ByVal Target As Range)
    Const WS_RANGE As String = "H1:H10"
    Dim i As Long
    Dim tmp As String
    Dim fCapital As Boolean

    On Error GoTo ws_exit:
    Application.EnableEvents = False
    If Not Intersect(Target, Me.Range(WS_RANGE)) Is Nothing Then
    With Target
    If Not IsNumeric(.Value) Then
    If Not .HasFormula Then
    fCapital = True
    For i = 1 To Len(.Value)
    If fCapital Then
    tmp = tmp & UCase(Mid(.Value, i, 1))
    fCapital = False
    Else
    tmp = tmp & Mid(.Value, i, 1)
    fCapital = Mid(.Value, i, 1) = " "
    End If
    Next i
    .Value = tmp
    End If
    End If
    End With
    End If

    ws_exit:
    Application.EnableEvents = True
    End Sub

    --
    HTH

    Bob Phillips

    (replace somewhere in email address with gmail if mailing direct)

    "Jeff" <Jeff@discussions.microsoft.com> wrote in message
    news:491C537C-25E6-4DCA-A12E-7559E515D7C8@microsoft.com...
    > Hi Bob,
    >
    > Assuming there a company name 'company ABC private limited'. by using VBA
    > below, it will change to 'Company Abc Private Limited'. Please advise how

    to
    > maintain ABC unchange. Eg. Company ABC Private Limited.
    >
    > Thanks.
    >
    > Jeff.
    >
    > "Bob Phillips" wrote:
    >
    > > Private Sub Worksheet_Change(ByVal Target As Range)
    > > Const WS_RANGE As String = "A1:H10"
    > >
    > > On Error GoTo ws_exit:
    > > Application.EnableEvents = False
    > > If Not Intersect(Target, Me.Range(WS_RANGE)) Is Nothing Then
    > > With Target
    > > If Not IsNumeric(.Value) Then
    > > If Not .HasFormula Then
    > > .Value = Application.Proper(.Value)
    > > End If
    > > End If
    > > End With
    > > End If
    > >
    > > ws_exit:
    > > Application.EnableEvents = True
    > > End Sub
    > >
    > > 'This is worksheet event code, which means that it needs to be
    > > 'placed in the appropriate worksheet code module, not a standard
    > > 'code module. To do this, right-click on the sheet tab, select
    > > 'the View Code option from the menu, and paste the code in.
    > >
    > >
    > >
    > >
    > >
    > > --
    > > HTH
    > >
    > > Bob Phillips
    > >
    > > (replace somewhere in email address with gmail if mailing direct)
    > >
    > > "Jeff" <Jeff@discussions.microsoft.com> wrote in message
    > > news:8C2AF09D-B95A-4FF6-8A66-3C1B0847DD78@microsoft.com...
    > > > Hi, I had tried to post general question to find if there is a way to

    auto
    > > > default 1st letter of a word to be capital letter but so far not

    possible.
    > > > Pls see reply below.
    > > >
    > > > AFAIK, this does not exist.
    > > > But you can copy/Paste special values from calculated column back into
    > > > original column.
    > > >
    > > > Cheers,
    > > > --
    > > > AP
    > > >
    > > > "Jeff" <Jeff@discussions.microsoft.com> a écrit dans le message de

    news:
    > > > 03B07E23-F91E-4BF3-BCFE-07D6BB4F1135@microsoft.com...
    > > > > Hi Ardus
    > > > >
    > > > > Thanks for you reply. Your recommended method is to use formula
    > > > > =PROPER(A1).
    > > > > It's referring to another cell, update to correct format and appear

    in
    > > > > existing cell. Is there a way to update to correct format

    immediately in
    > > > > existing cell withot referring to another field ? Some kind of

    excel
    > > > > validation function.
    > > > >
    > > > > Jeff.
    > > > >
    > > > > "Ardus Petus" wrote:
    > > > >
    > > > >> =PROPER(A1)
    > > > >>
    > > > >> HTH
    > > > >> --
    > > > >> AP
    > > > >>
    > > > >> "Jeff" <Jeff@discussions.microsoft.com> a écrit dans le message de

    > > news:
    > > > >> 76B09FC7-F85F-4844-BAB7-133E8DF1D54A@microsoft.com...
    > > > >> > Hi, I am trying to auto format excel entry to default capital

    letter
    > > > >> > for
    > > > >> > 1st
    > > > >> > letter of each word. For example: When user insert '10,

    international
    > > > >> > building, sunny road', the entry will updated to '10,

    International
    > > > >> > Building,
    > > > >> > Sunny Road'.
    > > > >> >
    > > > >> > Please show me the method.
    > > > >> >
    > > > >> > Your help is very much appreciated.
    > > > >> >
    > > > >> > Jeff.
    > > >
    > > >
    > > > ----------------
    > > > This post is a suggestion for Microsoft, and Microsoft responds to the
    > > > suggestions with the most votes. To vote for this suggestion, click

    the "I
    > > > Agree" button in the message pane. If you do not see the button,

    follow
    > > this
    > > > link to open the suggestion in the Microsoft Web-based Newsreader and

    then
    > > > click "I Agree" in the message pane.
    > > >
    > > >

    > >

    http://www.microsoft.com/office/comm...lic.excel.misc
    > >
    > >
    > >




  2. #2
    Jeff
    Guest

    Re: New Validation option to format 1st letter as Capital letter

    Thanks Bob.

    "Bob Phillips" wrote:

    > Private Sub Worksheet_Change(ByVal Target As Range)
    > Const WS_RANGE As String = "H1:H10"
    > Dim i As Long
    > Dim tmp As String
    > Dim fCapital As Boolean
    >
    > On Error GoTo ws_exit:
    > Application.EnableEvents = False
    > If Not Intersect(Target, Me.Range(WS_RANGE)) Is Nothing Then
    > With Target
    > If Not IsNumeric(.Value) Then
    > If Not .HasFormula Then
    > fCapital = True
    > For i = 1 To Len(.Value)
    > If fCapital Then
    > tmp = tmp & UCase(Mid(.Value, i, 1))
    > fCapital = False
    > Else
    > tmp = tmp & Mid(.Value, i, 1)
    > fCapital = Mid(.Value, i, 1) = " "
    > End If
    > Next i
    > .Value = tmp
    > End If
    > End If
    > End With
    > End If
    >
    > ws_exit:
    > Application.EnableEvents = True
    > End Sub
    >
    > --
    > HTH
    >
    > Bob Phillips
    >
    > (replace somewhere in email address with gmail if mailing direct)
    >
    > "Jeff" <Jeff@discussions.microsoft.com> wrote in message
    > news:491C537C-25E6-4DCA-A12E-7559E515D7C8@microsoft.com...
    > > Hi Bob,
    > >
    > > Assuming there a company name 'company ABC private limited'. by using VBA
    > > below, it will change to 'Company Abc Private Limited'. Please advise how

    > to
    > > maintain ABC unchange. Eg. Company ABC Private Limited.
    > >
    > > Thanks.
    > >
    > > Jeff.
    > >
    > > "Bob Phillips" wrote:
    > >
    > > > Private Sub Worksheet_Change(ByVal Target As Range)
    > > > Const WS_RANGE As String = "A1:H10"
    > > >
    > > > On Error GoTo ws_exit:
    > > > Application.EnableEvents = False
    > > > If Not Intersect(Target, Me.Range(WS_RANGE)) Is Nothing Then
    > > > With Target
    > > > If Not IsNumeric(.Value) Then
    > > > If Not .HasFormula Then
    > > > .Value = Application.Proper(.Value)
    > > > End If
    > > > End If
    > > > End With
    > > > End If
    > > >
    > > > ws_exit:
    > > > Application.EnableEvents = True
    > > > End Sub
    > > >
    > > > 'This is worksheet event code, which means that it needs to be
    > > > 'placed in the appropriate worksheet code module, not a standard
    > > > 'code module. To do this, right-click on the sheet tab, select
    > > > 'the View Code option from the menu, and paste the code in.
    > > >
    > > >
    > > >
    > > >
    > > >
    > > > --
    > > > HTH
    > > >
    > > > Bob Phillips
    > > >
    > > > (replace somewhere in email address with gmail if mailing direct)
    > > >
    > > > "Jeff" <Jeff@discussions.microsoft.com> wrote in message
    > > > news:8C2AF09D-B95A-4FF6-8A66-3C1B0847DD78@microsoft.com...
    > > > > Hi, I had tried to post general question to find if there is a way to

    > auto
    > > > > default 1st letter of a word to be capital letter but so far not

    > possible.
    > > > > Pls see reply below.
    > > > >
    > > > > AFAIK, this does not exist.
    > > > > But you can copy/Paste special values from calculated column back into
    > > > > original column.
    > > > >
    > > > > Cheers,
    > > > > --
    > > > > AP
    > > > >
    > > > > "Jeff" <Jeff@discussions.microsoft.com> a écrit dans le message de

    > news:
    > > > > 03B07E23-F91E-4BF3-BCFE-07D6BB4F1135@microsoft.com...
    > > > > > Hi Ardus
    > > > > >
    > > > > > Thanks for you reply. Your recommended method is to use formula
    > > > > > =PROPER(A1).
    > > > > > It's referring to another cell, update to correct format and appear

    > in
    > > > > > existing cell. Is there a way to update to correct format

    > immediately in
    > > > > > existing cell withot referring to another field ? Some kind of

    > excel
    > > > > > validation function.
    > > > > >
    > > > > > Jeff.
    > > > > >
    > > > > > "Ardus Petus" wrote:
    > > > > >
    > > > > >> =PROPER(A1)
    > > > > >>
    > > > > >> HTH
    > > > > >> --
    > > > > >> AP
    > > > > >>
    > > > > >> "Jeff" <Jeff@discussions.microsoft.com> a écrit dans le message de
    > > > news:
    > > > > >> 76B09FC7-F85F-4844-BAB7-133E8DF1D54A@microsoft.com...
    > > > > >> > Hi, I am trying to auto format excel entry to default capital

    > letter
    > > > > >> > for
    > > > > >> > 1st
    > > > > >> > letter of each word. For example: When user insert '10,

    > international
    > > > > >> > building, sunny road', the entry will updated to '10,

    > International
    > > > > >> > Building,
    > > > > >> > Sunny Road'.
    > > > > >> >
    > > > > >> > Please show me the method.
    > > > > >> >
    > > > > >> > Your help is very much appreciated.
    > > > > >> >
    > > > > >> > Jeff.
    > > > >
    > > > >
    > > > > ----------------
    > > > > This post is a suggestion for Microsoft, and Microsoft responds to the
    > > > > suggestions with the most votes. To vote for this suggestion, click

    > the "I
    > > > > Agree" button in the message pane. If you do not see the button,

    > follow
    > > > this
    > > > > link to open the suggestion in the Microsoft Web-based Newsreader and

    > then
    > > > > click "I Agree" in the message pane.
    > > > >
    > > > >
    > > >

    > http://www.microsoft.com/office/comm...lic.excel.misc
    > > >
    > > >
    > > >

    >
    >
    >


+ Reply to Thread

Thread Information

Users Browsing this Thread

There are currently 1 users browsing this thread. (0 members and 1 guests)

Bookmarks

Posting Permissions

  • You may not post new threads
  • You may not post replies
  • You may not post attachments
  • You may not edit your posts

Search Engine Friendly URLs by vBSEO 3.6.0 RC 1