A Conrad le gustaría imitar la capacidad de «versalitas» de Word dentro de Excel. La única forma en que puede pensar en hacer esto es desarrollar una macro que recorra cada carácter de una celda. Si el carácter está en minúsculas y tiene 11 puntos, la macro debería cambiar el carácter a 9 puntos en mayúscula.

Si el carácter está en mayúsculas (o no es una letra), no debería verse afectado. El problema es que Conrad no sabe cómo afectar el formato de caracteres individuales en la celda de la manera descrita.

Cuando se usa una macro para afectar solo a ciertos caracteres dentro de la celda, es bueno recordar que cada celda tiene su propia colección de Personajes a la que se puede acceder y modificar. Cada elemento de la colección representa, como era de esperar, un solo carácter en la celda.

Esto nos permite armar una macro que examina lo que hay actualmente en la celda, y si el carácter está en minúsculas, convertir solo ese carácter a mayúsculas y reducir el tamaño de fuente de ese carácter.

Sub SmallCaps()

Dim rCell As Range     Dim sWords As String     Dim sCharacter As String     Dim x As Long

'go through each cell in selection     For Each rCell In Selection         'Don't want to work on formulas         If Not rCell.HasFormula Then             sWords = rCell.Value 'Get the cell contents             For x = 1 To Len(sWords) 'Act on each letter                 sCharacter = Mid(sWords, x, 1)

If sCharacter >= "a" And sCharacter <= "z" Then                     'sCharacter is a lowercase letter                     With rCell.Characters(Start:=x, Length:=1)

'Decrease the font size by 2                         .Font.Size = .Font.Size - 2                         'Make character uppercase                         .Text = UCase(sCharacter)

End With                 End If             Next         End If     Next End Sub

Esta macro hace su trabajo en las celdas que se seleccionan cuando se ejecuta.

Verifica que la celda no contenga una fórmula (las fórmulas se omiten) y luego realiza cualquier modificación a los caracteres en minúscula en la celda.

Existen inconvenientes en el uso de una macro como esta, y debe conocerlos. El mayor inconveniente es que en realidad modifica lo que hay en las celdas. Cuando termine, las celdas contendrán todo el texto en mayúsculas, aunque el formato puede hacer que parezcan versalitas. Esto significa que puede tener problemas cuando más adelante ejecute la macro por segunda vez, y las herramientas de corrección de Excel (como el corrector ortográfico) no funcionarán con palabras que estén todas en mayúsculas. (Sin embargo, Excel se puede configurar para que aún revise la ortografía de esas palabras).

Debido a los inconvenientes, es posible que desee adoptar un enfoque completamente diferente: cambie la fuente que usa para las celdas en las que desea versalitas. Si busca en la web «fuentes de minúscula» (sin las comillas), debería poder encontrar muchos candidatos, y un buen número de ellos están disponibles de forma gratuita. Aquí hay un sitio que puede tener algo que te guste:

https://www.fontsquirrel.com/fonts/list/tag/small%20caps

Simplemente descargue la fuente que desee (de esta o de cualquier otra fuente confiable) e instálela en su sistema. Cuando reinicie Excel, la fuente debería estar disponible para formatear celdas. Las celdas formateadas para usar dicha fuente mostrarían texto en versalitas, aunque el contenido real de la celda sea una mezcla de mayúsculas y minúsculas.

ExcelTips es su fuente de formación rentable en Microsoft Excel.

Este consejo (653) se aplica a Microsoft Excel 2007, 2010, 2013 y 2016.