Vba #价值!使用评估索引引用单个单元格范围时出错
我想将Excel中的选定范围转换为大写。 这是我的密码Vba #价值!使用评估索引引用单个单元格范围时出错,vba,excel,evaluate,Vba,Excel,Evaluate,我想将Excel中的选定范围转换为大写。 这是我的密码 Dim rng As Range Set rng = Selection rng.Value = rng.Parent.Evaluate("INDEX(UPPER(" & rng.Address & "),)") 它在大范围内工作,但给出了#值!仅选择单个单元格时出错。此代码适用于单个单元格或选择: Sub ChangeCellCase() Dim CellCase For Each CellCase In Se
Dim rng As Range
Set rng = Selection
rng.Value = rng.Parent.Evaluate("INDEX(UPPER(" & rng.Address & "),)")
它在大范围内工作,但给出了#值!仅选择单个单元格时出错。此代码适用于单个单元格或选择:
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
这是一个函数还是一个宏?请注意,如果将其应用于许多单元格,这可能需要一些时间。将整个范围放入内存,将其转换为大写,然后一次性将其写回工作表会更快。如果用例是少量单元,那么这可能不值得研究。