Con esta macro pasaras rangos enteros a nombre propio, mayusculas y minusculas sin necesidad de formulas ni copiar y pegar, simplemente seleccionas el rango y le dices que quieres hacer
Código de la macro
Sub TextoMayuscMinuc()
Dim Celda As Range
Dim QueHacer As String
Dim Rango As Range
QueHacer = InputBox(«Indique que quiere hacer» & vbNewLine & vbNewLine & «Nombre Propio = NP» & vbNewLine & «Mayusculas = MA» & vbNewLine & «Minusculas = MI»)
QueHacer = VBA.UCase(QueHacer)
Set Rango = Selection
For Each Celda In Rango
If QueHacer = "NP" Then
If Application.WorksheetFunction.IsText(Celda) Then
Celda.Value = Application.WorksheetFunction.Proper(Celda)
End If
ElseIf QueHacer = "MA" Then
If Application.WorksheetFunction.IsText(Celda) Then
Celda.Value = VBA.UCase(Celda)
End If
ElseIf QueHacer = "MI" Then
If Application.WorksheetFunction.IsText(Celda) Then
Celda.Value = VBA.LCase(Celda)
End If
End If
Next Celda
End Sub
Como copiar y pegar el código
Como insertar una macro en la cinta de opciones personalizada