我正在使用Excel 2010,并且需要一个将字符串中的特定单词更改为大写的宏。例如in"所有现有的污水管都归hrsd所有,而不是城市。" hrsd
必须为大写HRSD
。
以下宏适用于单个单词,但不适用于字符串:
If Target.Cells.Count > 1 Or Target.HasFormula Then Exit Sub
On Error Resume Next
If Not Intersect(Target, Range("H2:H3000")) Is Nothing Then
Application.EnableEvents = False
Target = UCase(Target)
Application.EnableEvents = True
End If
On Error GoTo 0
有什么建议吗?
答案 0 :(得分:0)
您可以使用VBA的Replace函数将部分字符串切换为大写值。例如:
Dim text As String
text = "All current sewer pipe is owned by hrsd and not the city."
text = Replace(text, "hrsd", UCase("hrsd"))
答案 1 :(得分:0)
或者只使用Range.Replace
方法。
Range("H2:H3000").Replace What:="hrsd", Replacement:="HRSD", LookAt:=xlPart
答案 2 :(得分:0)
非宏解决方案是使用自动修正将hrsd更改为HRSD。这会在每次缩写出现时解决问题。
注意:自动更正是特定于计算机的,因此它将修复计算机上的工作簿。但如果有人想在他们的计算机上进行相同的操作,则需要更改他们的设置。