【发布时间】:2021-04-10 18:27:16
【问题描述】:
我正在尝试将单元格中的文本转换为正确大小写格式,但某些缩写(比如“DAD”、“ABC”、“CBD”)除外,它们应该是大写。
从Proper Case Conversion 和Conditional Formatting 的这些链接中,我需要使用Select Case 语句,但我不知道如何实现它。
Sub ProperCase()
Dim Rng As Range
Dim WorkRng As Range
On Error Resume Next
xTitleID = "Conditional Proper Case Conversion"
Set WorkRng = Application.Selection
Set WorkRng = Application.InputBox("Range", xTitleID, WorkRng.Address, Type:=8)
For Each Rng In WorkRng
Rng.Value = Application.WorksheetFunction.Proper(Rng.Value)
Next
End Sub
此代码请求一系列单元格来执行转换。
如何为某些字符串/文本(即缩写)添加条件功能?
【问题讨论】:
-
您使用的是什么类型的单元格内容?单字,还是多字文本?
-
大多数情况下是单个单词,但某些单元格中可能包含多个单词,例如 2 或 3。代码应该可以工作,以便如果在单元格中找到可识别的缩写,该缩写将是转换为大写,而所有其他单词都是正确的。
-
单个单词会相对简单,如下面的 Excel Hero 的帖子所示,但是多个单词会更困难,除非有一些可预测的分隔符可以用来根据你的上列表单独测试每个单词 -案例条款。
-
我相信 Excel Hero 提供的单字解决方案现在可以做到。我必须确认是否需要多字实现,如果需要,如果遇到问题,我一定会再次访问此页面。非常感谢你们!
标签: excel vba excel-formula conditional-formatting