Cuando edita una celda en Excel, tiene acceso a varios de los botones de la barra de herramientas de formato que pueden hacer que formatear la celda sea un poco más fácil. Por ejemplo, puede usar las herramientas Negrita o Cursiva para cambiar estos dos atributos para cualquier texto seleccionado en una celda. En algún momento, es posible que desee crear otros botones de la barra de herramientas para manejar otro formato, como aplicar superíndice o subíndice.

Excel, sin embargo, no le permite crear sus propias herramientas de formato y tenerlas accesibles mientras edita una celda. Esto se debe a que Excel «desactiva» todas las macros definidas por el usuario mientras realiza la edición.

Te queda formatear el contenido de la celda a través de Formato | Celdas, o presionando Ctrl + 1 para mostrar el cuadro de diálogo Formato de celdas directamente.

Sin embargo, existe una forma engañosa que puede utilizar para crear sus propias herramientas de formato. Esto implica el uso de formularios de usuario y VBA para crear su propio «cuadro de diálogo» de formato. (Lo sé, esto no es realmente un cuadro de diálogo, sino un formulario). Crear su propio formulario de usuario no es muy difícil, pero no es para los pusilánimes cuando se trata de macros. Siga estos pasos para crear su propio formulario:

  1. Presione Ctrl + F11 para mostrar el Editor de VBA.

  2. En el Editor de VBA, elija Formulario de usuario en el menú Insertar. Aparece un nuevo formulario de usuario en blanco, junto con la caja de herramientas del formulario.

  3. Con los controles del cuadro de herramientas del formulario, agregue tres controles CommandButton en la parte superior del formulario.

  4. Cambie las propiedades del control CommandButton izquierdo para que su Nombre sea btnSuper y su Título sea Superíndice.

  5. Cambie las propiedades del control CommandButton central para que su Nombre sea btnSub y su Título sea Subíndice.

  6. Cambie las propiedades del control CommandButton derecho para que su Nombre sea btnNormal y su Título sea Normal.

  7. Justo debajo de los tres botones, agregue un control TextBox. No es necesario cambiar ninguna propiedad para este control.

  8. Justo debajo del control TextBox, agregue un cuarto control CommandButton.

  9. Cambie las propiedades de este último control CommandButton para que su Nombre sea btnSalir y su Título sea Salir.

Eso es; ha creado su formulario de usuario y está listo para asociar el código de macro con los controles que acaba de colocar. Con el formulario de usuario seleccionado, presione F7 para mostrar la ventana Código del formulario. La ventana puede contener una línea o dos de código generado automáticamente. Reemplace esto con el siguiente código:

Private Sub UserForm_Activate()

TextBox1.Text = ActiveCell.Formula End Sub
Private Sub btnSuper_Click()

Dim intStart As Integer     Dim intLength As Integer     intLength = TextBox1.SelLength     If intLength > 0 Then         intStart = TextBox1.SelStart + 1         ActiveCell.Characters(intStart, intLength).Font.Superscript = True     End If End Sub
Private Sub btnSub_Click()

Dim intStart As Integer     Dim intLength As Integer     intLength = TextBox1.SelLength     If intLength > 0 Then         intStart = TextBox1.SelStart + 1         ActiveCell.Characters(intStart, intLength).Font.Subscript = True     End If End Sub Private Sub btnExit_Click()

Unload UserForm1 End Sub
Private Sub btnNormal_Click()

Dim intStart As Integer     Dim intLength As Integer     intLength = TextBox1.SelLength     If intLength > 0 Then         intStart = TextBox1.SelStart + 1         ActiveCell.Characters(intStart, intLength).Font.Superscript = False         ActiveCell.Characters(intStart, intLength).Font.Subscript = False     End If End Sub

Cierre la ventana Código del formulario de usuario y cierre la propia ventana del formulario. Ahora necesita crear una macro muy corta que mostrará el formulario de usuario real. Esta macro se crea igual que cualquier otra macro de Excel y debería verse así:

Sub DoForm()

UserForm1.Show End Sub

Ahora puede cerrar la ventana del Editor de VBA. Para usar la macro, seleccione la celda que desea editar y luego ejecute la macro DoForm. Excel muestra su formulario de usuario, que contiene el texto en la celda seleccionada.

Luego puede seleccionar texto dentro del formulario de usuario y usar los botones (Superíndice, Subíndice y Normal) para cambiar el formato del contenido real de la celda. La macro afecta el contenido de la celda, no el contenido del formulario de usuario. Por lo tanto, es útil poder ver la celda seleccionada y el formulario de usuario en la pantalla al mismo tiempo.

_Nota: _

Si desea saber cómo usar las macros descritas en esta página (o en cualquier otra página de los sitios ExcelTips), he preparado una página especial que incluye información útil.

link: / excelribbon-ExcelTipsMacros [Haga clic aquí para abrir esa página especial en una nueva pestaña del navegador].

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

Este consejo (1945) se aplica a Microsoft Excel 97, 2000, 2002 y 2003.