我想在excel中转换为上限。这是我的代码
Dim rng As Range
Set rng = Selection
rng.Value = rng.Parent.Evaluate("INDEX(UPPER(" & rng.Address & "),)")
它在很大的范围内工作,但给出#Value!仅选择单个单元格时出错。
- 如果您选择了整列或行,则将您的选择切入使用范围。
-
如果仅选择一个单元格,则处理一个单元格;任何多个单元格的批量处理。
Dim rng As Range Set rng = Intersect(Selection, Selection.Parent.UsedRange) If rng.Cells.Count > 1 Then rng.Value = Application.Evaluate("INDEX(UPPER(" & rng.Address & "),)") Else rng = UCase(rng.Value) End If
此代码将适用于单个单元格或选择:
Sub ChangeCellCase()
Dim CellCase
For Each CellCase In Selection
CellCase.Value = UCase(CellCase.Value)
Next
End Sub