#价值!使用 Evaluate Index 引用单个单元格范围时出错
#VALUE! error referencing single cell range with Evaluate Index
我想将 Excel 中的选定范围转换为大写。
这是我的代码
Dim rng As Range
Set rng = Selection
rng.Value = rng.Parent.Evaluate("INDEX(UPPER(" & rng.Address & "),)")
它适用于大范围,但给出了#VALUE!仅选择单个单元格时出错。
此代码适用于单个单元格或所选内容:
Sub ChangeCellCase()
Dim CellCase
For Each CellCase In Selection
CellCase.Value = UCase(CellCase.Value)
Next
End Sub
- 如果您选择了整列或整行,请将您的选择缩小到已使用的范围。
如果您只选择了一个单元格,则处理一个单元格;批量处理任何多个单元格选择。
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
我想将 Excel 中的选定范围转换为大写。 这是我的代码
Dim rng As Range
Set rng = Selection
rng.Value = rng.Parent.Evaluate("INDEX(UPPER(" & rng.Address & "),)")
它适用于大范围,但给出了#VALUE!仅选择单个单元格时出错。
此代码适用于单个单元格或所选内容:
Sub ChangeCellCase()
Dim CellCase
For Each CellCase In Selection
CellCase.Value = UCase(CellCase.Value)
Next
End Sub
- 如果您选择了整列或整行,请将您的选择缩小到已使用的范围。
如果您只选择了一个单元格,则处理一个单元格;批量处理任何多个单元格选择。
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