Ver Mensaje Individual
  #4 (permalink)  
Antiguo 18/09/2006, 02:54
Avatar de 3pies
3pies
Colaborador
 
Fecha de Ingreso: diciembre-2003
Ubicación: Desde una destilería
Mensajes: 2.584
Antigüedad: 21 años, 2 meses
Puntos: 144
Prueba con este macro, que algo de tiempo puede ahorrarte:
Código:
Sub Poner_en_mayusculas()
    'Si tenemos una fórmula, y la ponemos en mayúsculas,
   'en lugar de hacer eso, nos pone un cero.
   'Para evitarlo, ponemos un condicional, que mirará
   'si el primer caracter de la cadena es un igual (signo igual),
   'lo cual indicará que es una fórmula. En caso de ser distinto,
   'es decir, en caso de no ser una fórmula, entonces la pasamos a mayúsculas.
   '--------------------------------------------
   'Nos desplazamos a la primera celda del rango
    Selection.End(xlUp).Select
   'Recorremos todo el rango de celdas hacia abajo,
   'y las ponemos en mayúsculas
    Do While Not IsEmpty(ActiveCell.Offset(0, 0))
        If Left(ActiveCell.Formula, 1) <> "=" Then
            ActiveCell = UCase(ActiveCell)
        End If
        'pasamos a la siguiente fila
        ActiveCell.Offset(1, 0).Select
    Loop
End Sub
Observaciones:
El macro pone en mayúsculas un rango continuo de datos. En cuanto encuentre una fila vacía, se detiene el macro. Para seguir poniendo en mayúsculas otros rangos de datos, deberás ponerte encima de cualquier celda de ese rango contínuo de datos, y ejecutar de nuevo el macro.

Salu2