Mayusculas

12/04/2004 - 20:58 por ESTEBAN OCONITRILLO COSTA RICA | Informe spam
necesito saber que opcion hay en excel para cuando yo marco varias columnas
que me cambie todo a mayuscula..!!

Gracias...

Salu2

Ing. Esteban Oconitrillo R.
Jefe Computo
Grupo Euro Autos
División Costa Rica
Tel:253-5873 Fax:253-7184
 

Leer las respuestas

#1 Héctor Miguel
14/04/2004 - 08:43 | Informe spam
hola, Esteban !

... que opcion hay en excel para cuando yo marco varias columnas que me cambie todo a mayuscula..!!



si el texto ya esta 'entrado'... solo queda usar macros para 'convertir' entre mayusculas y/o minusculas :((
aunque excel no tiene un 'atajo' para ello [como {Mayus}+{F3} en word], se puede 'truquear' el 'efecto'
te expongo algunos ejemplos [puedes combinarlos, adaptarlos, etc. segun tus necesidades]

saludos,
hector.
_______
1.- para 'obligar' a que TODA entrada en 'ciertas' celdas [p.e. $A$1:$C$5 y $E$2:$H$2] 'quede' en:
a) mayusculas... usa la funcion UCase(texto)
b) minusculas... usa la funcion LCase(texto)
=> si introduces una formula con la funcion =Texto(... el 'resultado final'... QUEDARA 'convertido' <= OJO
para evitarlo... cambia la instruccion =>Target = UCase(Target)<= por =>Target.Formula = UCase(Target.Formula)< en el modulo de codigo de 'la hoja' ==Private Sub Worksheet_Change(ByVal Target As Excel.Range)
' elimina la siguiente linea si deseas que se afecte CUALQUIER celda de 'esta hoja' '
If Intersect(Target, Range("a1:c5,e2:h2") Is Nothing Then Exit Sub
Application.EnableEvents = False
Target = UCase(Target)
Application.EnableEvents = True
End Sub
¨¨¨¨¨¨¨¨¨¨¨¨
2.- para 'convertir' las celdas 'constantes' con valores de texto de un rango =>seleccionado< en un modulo de codigo 'normal' =Sub Cambiar_Mayúsculas()
Dim Celda As Range
Application.ScreenUpdating = False
For Each Celda In Selection.SpecialCells(xlCellTypeConstants, xlTextValues)
Celda = UCase(Celda)
Next
End Sub
¨¨¨¨¨¨¨¨¨¨¨¨
3.- otra forma para 'switchear a voluntad' entre mayusculas y minusculas un rango =>seleccionado< a) en la celda A1 'pones' un valor para el 'tipo de conversion' que deseas hacer [p.e.]
1 = minusculas
2 = 'nombre propio' [mayuscula la primer letra de cada palabra y el resto en minusculas]
'cualquier otra cosa' = mayusculas
en un modulo de codigo 'normal' ==Sub CambioDeLetras()
Dim Cambio As Variant, Celda As Range
Application.ScreenUpdating = False
Select Case Range("a1")
Case 1: Cambio = vbLowerCase
Case 2: Cambio = vbProperCase
Case Else: Cambio = vbUpperCase
End Select
For Each Celda In Selection.SpecialCells(xlCellTypeConstants, xlTextValues)
Celda = StrConv(Celda, Cambio)
Next
End Sub

Preguntas similares