sobre - insertar casilla de verificacion en excel 2016
Verificación de Vba si se dobla parcialmente en la celda (1)
Esta es una forma que puede usar para verificar si la celda tiene
- Caracteres mixtos que son audaces. En este caso, devolverá
NULL
- Todos los personajes son audaces. En este caso, devolverá
TRUE
- Ninguno de los personajes es negrita. En este caso, volverá
FALSE
Ejemplo
Sub Sample()
Debug.Print Range("A1").Font.Bold
Debug.Print Range("A2").Font.Bold
Debug.Print Range("A3").Font.Bold
End Sub
Para verificar si una celda tiene algún carácter en negrita también puede usar esta función (ya sea desde VBA o Hoja de trabajo )
''~~> This is an additional function which will return...
''~~> TRUE if Cell has mixed/all chars as bold
''~~> FALSE if cell doesn''t have any character in bold.
''~~> This can also be used as a worksheet function.
Function FindBoldCharacters(ByVal aCell As Range) As Boolean
FindBoldCharacters = IsNull(aCell.Font.Bold)
If Not FindBoldCharacters Then FindBoldCharacters = aCell.Font.Bold
End Function
Captura de pantalla
Y puede usar .Characters().Font.FontStyle
para verificar si cada carácter está en negrita o no. Utilice el ejemplo de rango A1
anterior.
Sub Sample()
For i = 1 To Len(Range("A1").Value)
Debug.Print Range("A1").Characters(i, 1).Font.FontStyle
Next i
End Sub
Screeenshot
Código modificado
Sub Sample()
For i = 1 To Len(Range("A1").Value)
If Range("A1").Characters(i, 1).Font.FontStyle = "Bold" Then
Debug.Print "The " & i & " character is in bold."
End If
Next i
End Sub
Captura de pantalla
Estoy generando XML a partir de una lista de texto dentro de una hoja de trabajo, pero no puedo averiguar cómo verificar si la celda actual tiene una palabra en negrita dentro de ella. Lo que tengo que hacer es verificar cada celda en la columna A, leer el texto en una cadena, si toco cualquier palabra en negrita, agregar el etiquetas a su alrededor.
Sé que puedes leer el contenido de las celdas carácter por carácter pero no su formato.
¡Cualquier ayuda sería muy apreciada!