最近,我在 Excel 中发现了一些单元格中充满了小字母,有没有什么简单的方法或宏可以将 Excel 中的每个单词都大写?
例如考虑下面的图片:
转换后应如下所示:
我需要将 Excel 中每个单元格 [整个单元格] 的首字母大写?有什么简单的方法可以实现吗?
答案1
I need to capitalize every cell in excel with first letter as capital?any easy way to accomplish it?
是的,使用这个宏。记得先备份文件!
Sub uppercase()
For Each cell In Application.ActiveSheet.UsedRange
If (cell.Value <> "") Then
cell.Value = UCase(cell.Value) ' this will make the entire cell upper case
End If
Next
End Sub
要使每个单元格的首字母大写,您可以使用
cell.Value = UCase(Left(cell.Value, 1)) & Right(cell.Value, Len(cell.Value) - 1) 'This will make the first word in the cell upper case
要使其成为标题大小写,请使用
Sub titleCase()
For Each cell In Application.ActiveSheet.UsedRange
If (cell.Value <> "") Then
cell.Value = TitleCase(cell.Value) ' this will make the entire cell upper case
End If
Next
End Sub
Function TitleCase(s) As String
a = Split(s, " ")
For i = 0 To UBound(a)
If (Trim(a(i)) <> "") Then
TitleCase = TitleCase & UCase(Left(a(i), 1)) & Right(a(i), Len(a(i)) - 1) & " "
End If
Next
TitleCase = Trim(TitleCase)
End Function
答案2
无需使用 VBA 来更改任何情况。当然,有 VBA 函数可以做到这一点,如其他答案所示,但除非您已经在 VBA 中编写了某些内容,否则这样做就太过分了。
以下公式将为您转换大小写。
=UPPER(A1)
将所有字母转换为大写
=LOWER(A1)
将所有字母转换为小写
=PROPER(A1)
将每个单词的首字母转换为大写,将其他每个字母转换为小写
(“单词”是连续的字母字符串。任何非字母都被视为单词的结尾。)
以下是结果示例:
输入: Aaa bbb-ccc/ddd=eee9fff"ggg\hhh{iii(jjj
上: AAA BBB-CCC/DDD=EEE9FFF"GGG\HHH{III(JJJ
下: aaa bbb-ccc/ddd=eee9fff"ggg\hhh{iii(jjj
正确:Aaa Bbb-Ccc/Ddd=Eee9Fff"Ggg\Hhh{Iii(Jjj
如果只想将单元格的首字母大写,请UPPER
与其他一些函数结合使用:
=UPPER(LEFT(A1)) & MID(A1,2,LEN(A1))
答案3
这是一个简单的宏,用于将某个范围内的文本转换为全部大写。将第 3 行的范围更改为要转换的范围。
Sub Uppercase()
' Loop to cycle through each cell in the specified range.
For Each x In Range("A1:A25")
' Change the text in the range to uppercase letters.
x.Value = UCase(x.Value)
Next
End Sub
答案4
最简单的就是创建自己的函数(纽约,因此它是美国的第一个首都......)
函数 NewYork(输入文本作为字符串)
NewYork = UCase(Left(InputText , 1)) & Right(InputText , Len(InputText ) - 1)
结束函数