Hola.
A la espera de mejores y más sencillas soluciones, ahí va una complicada que es un ejemplo de trabajo que se tiene que adaptar, mejorar, optimizar etc etc
Supongamos que tenemos un documento con una tabla con un marcador (mitabla) que encierra a toda la tabla. Sirva esto para saber en que tabla estamos ya que el documento puede tener varias tablas.
Suponemos que la columna 1 de dicha tabla puede tener texto(todo) en negrita o no y lo que buscamos es que al escribir en la columna 2 lo haga en rojo o negro según la celda de la primera columna esté en negrita o no.
Para ello haremos:
1º.-Crearemos un módulo de clase (clase1) con el siguiente código:
Option Explicit
Public WithEvents appWord As Word.Application
Private Sub appWord_WindowSelectionChange(ByVal Sel As Selection)
Dim mifila As Long
Dim micolumna As Long
''''el marcador de nombre mitabla incluye sólo la tabla en cuestión
If Sel.Tables.Count = 1 And Sel.Bookmarks.Count = 1 Then
If Sel.Bookmarks(1).Name = "mitabla" Then
mifila = Sel.Cells(1).RowIndex
micolumna = Sel.Cells(1).ColumnIndex
If micolumna = 2 Then ''''aquí el número de columna en cuestión. SE SUPONE QUE LA COLUMNA 1 DA EL FORMATO
If Sel.Tables(1).Cell(mifila, 1).Range.Font.Bold = True Then
Sel.Cells(1).Range.Font.ColorIndex = wdRed
Else
Sel.Cells(1).Range.Font.ColorIndex = wdBlack
End If
Else
'''no es columna 2
End If
End If
Else
''''''MsgBox ("no tabla")
End If
End Sub
2º.- En thisdocument el siguiente código para que al abrir se "cargue" el módulo de clase
Option Explicit
Dim miapli As New Clase1
Public Sub AutoNew()
Set miapli.appWord = Application
End Sub
Public Sub AutoOpen()
Set miapli.appWord = Application
End Sub
con lo anterior y evidentemente teniendo las macros "activadas", se consigue un "simulacro" de formato condicional.
Espero que sirva de ayuda.
Ya comentas.
Un saludo a todos