我知道这听起来好像我不知道自己在做什么。旧版本的 Excel 有一个页面/工作表功能,可以将其设置为确保 Excel 电子表格中的所有字段都会自动将输入(在键入时)从小写转换为大写,而不管它们最初是如何输入的。有谁知道这个功能/如何设置它而不必进入“宏模式”或使用“VB”......???
答案1
您收到了一条评论,说明如何使用公式将键入的输入的大写等效项放入另一个单元格中。要替换单元格本身中的值,您需要某种形式的 VBA 事件宏。据我所知,从来没有自动大写转换,但我记得有几个数据库产品有,并且基于表单的输入可以做同样的事情(通过 VBA 解析文本)。
如果您想要 VBA 解决方案,请右键单击工作表的名称选项卡并选择View Code
。当 VBE 打开时,将以下内容粘贴到标题为Book1 - Sheet1 (代码)。
Private Sub Worksheet_Change(ByVal Target As Range)
If Not Intersect(Target, Range("C2:M10")) Is Nothing Then
On Error GoTo Fìn
Application.EnableEvents = False
Dim c As Range
For Each c In Intersect(Target, Range("C2:M10"))
c = UCase(c.Value2)
Next c
End If
Fìn:
Application.EnableEvents = True
End Sub
您没有提供任何具体信息,所以我将输入范围想象为 C2:M10。您应该能够修改该部分,使其更接近输入值或粘贴值的范围。
如果您认为输入范围正确,请点击Alt+Q返回工作表。输入到该范围的任何内容都将转换为大写字母。