#价值!带有评估索引的单元格范围的错误



我想在excel中转换为上限。这是我的代码

Dim rng As Range
Set rng = Selection
rng.Value = rng.Parent.Evaluate("INDEX(UPPER(" & rng.Address & "),)")

它在很大的范围内工作,但给出#Value!仅选择单个单元格时出错。

  1. 如果您选择了整列或行,则将您的选择切入使用范围。
  2. 如果仅选择一个单元格,则处理一个单元格;任何多个单元格的批量处理。

    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

最新更新