VBA在Excel单元格填充时即时将字母转换为大写字母

我正在寻找一个会在事件后自动激活的macros。

如果有人在cell A1插入一个文本值或文本值,然后按下回车键,并且单元格已经填充, 如果有一个小写字母,它会将其转换为大写

但是问题在于,它必须是自动的,而不必自己启动macros。

 Private Sub Worksheet_Change(ByVal Target As Range) If Target.Address = "$A$1" Then Target.Value = UCase(Target.Value) End If End Sub 

仅在工作表代码中进行testing。

在工作表代码区域中input以下事件macros:

 Private Sub Worksheet_Change(ByVal Target As Range) Dim A1 As Range Set A1 = Range("A1") If Not Intersect(Target, A1) Is Nothing Then Application.EnableEvents = False Target.Value = UCase(Target.Value) Application.EnableEvents = True End If End Sub 

因为它是工作表代码,所以安装和自动使用非常简单:

  1. 右键单击Excel窗口底部附近的选项卡名称
  2. select查看代码 – 这会popup一个VBE窗口
  3. 粘贴东西,closuresVBE窗口

如果您有任何疑问,请先在试用工作表上尝试。

如果您保存该工作簿,该macros将与它一起保存。 如果您在2003年以后使用的是Excel版本,则必须将该文件另存为.xlsm而不是.xlsx

要删除macros:

  1. 调出上面的VBE窗口
  2. 清除代码
  3. closuresVBE窗口

要了解有关macros的更多信息,请参阅:

http://www.mvps.org/dmcritchie/excel/getstarted.htm

http://msdn.microsoft.com/en-us/library/ee814735(v=office.14).aspx

要了解有关事件macros(工作表代码)的更多信息,请参阅:

http://www.mvps.org/dmcritchie/excel/event.htm

macros必须启用这个工作!