Pasa rangos a Nombre propio a Mayusculas o a Minusculas

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