我想将 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
关于vba - #值(value)!使用评估索引引用单个单元格范围时出错,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/48998336/