如何使用VBA格式化Excel工作表中的单词,使首字母大写后跟每个单词中的小写字母? 我知道大写和小写的代码,但是格式化整个单词,包括相同的第一个字母。 如果你觉得这个问题很愚蠢,那我就不好了,但正如我对VBA的新手一样,如果有人能提供帮助,我只是好奇。 提前谢谢你......
答案 0 :(得分:6)
PROPER
功能应该有所帮助。有关详细信息,请参阅this。
使用VBA
Sub Demo()
Dim ws As Worksheet
Dim rng As Range, cel As Range
Dim lastRow As Long
Set ws = ThisWorkbook.Sheets("Sheet3") 'change Sheet3 to data sheet
With ws
lastRow = .Cells(.Rows.Count, "A").End(xlUp).Row
For Each cel In .Range("A1:A" & lastRow)
cel.Offset(0, 1).Value = Application.Proper(cel.Value)
Next
End With
End Sub
使用公式
=PROPER(A1)
答案 1 :(得分:0)
这称为正确案例。您可以使用以下行将单元格值转换为正确的大小写:
YourCell.Value = StrConv(YourCell.Value, vbProperCase)
答案 2 :(得分:0)
此答案是Google在此问题上排名最高的Stack Overflow-
“ vba代码将单词的首字母大写”
此代码在Windows 10上的Office 365 Excel中有效
Public Function fnProperCase(sWord As String) As String
fnProperCase = StrConv(sWord, vbProperCase)
End Function
这是我测试的输出(请注意第5行)
Excel with test data in col 1, =fnProperCase in col 2 and =PROPER in col 3
我在Stack Overflow和其他地方查看了其他各种答案
StrConv
https://support.office.com/en-ie/article/strconv-function-19c3816f-dbc9-4adf-891c-fd32734c92e0
在不更改当前大写字母的情况下首字母大写
Capitalise first letter of words without changing currently Capitalised
使错误的代码看起来不正确
https://www.joelonsoftware.com/2005/05/11/making-wrong-code-look-wrong/