如何在Excel单元格中强制每个单词的首字母大写

时间:2019-09-26 13:25:21

标签: excel vba

我正在一个简单的Excel工作表上,用户在其中输入他们的名字,有时他们不使用大写字母,因此我试图使名称单元格在填写姓名时自动将大写字母大写。

我尝试了PROPER公式,但这在2个单元格/列之间很有用。

当用户在名称单元格中输入“ jose gonzalez”并按Enter时,内容将变为“ Jose Gonzalez”。

2 个答案:

答案 0 :(得分:4)

在正在使用的工作表模块中使用VBA编辑器(Alt + F11),粘贴以下代码

Private Sub Worksheet_Change(ByVal Target As Range)

If Target.Count > 1 Then
'more than one cell
Else
    If Target.Column = 5 Then
        If Len(Target) > 0 Then
            Application.EnableEvents = False
            Target = Application.WorksheetFunction.Proper(Target)
            Application.EnableEvents = True
        End If
    End If
End If
End Sub

我的E列使用的是5列,因此您需要进行相应的调整。

答案 1 :(得分:0)

您要查找的公式是:

=PROPER(yourcell)

因此,如果您在A1中编写了josE GonzalEz,则键入=PROPER(A1)将在您的单元格中返回一个漂亮的“ Jose Gonzalez”:)