我在单元格中有数据,这些数据表示不同格式的不同内容。它类似于以下内容: 146976 12323 8448948 983893 。我只需要提取粗体数据(如果重要的话,它也是红色的),而忽略斜体数据。
最初我尝试使用If语句,但只有在条件达到100%时才有效,并且我尝试使用text-to-columns功能拆分单元格,但是文本的格式没有进行到了新的细胞。
我将在一个不应该要求用户操作的宏中运行它。这有可能吗?非常感谢!
答案 0 :(得分:0)
考虑三个单元格:
A1: BOLD
A2:常规
A3:斜体
使用代码:
Sub CheckFormat()
Dim cell As Range
For Each cell In Range("A1:A3")
If cell.Font.Bold = True Then
Debug.Print "Cell: " + cell.Address + " is bold"
End If
Next cell
End Sub
输出:Cell :$A$1 is bold
答案 1 :(得分:0)
这显示单元格中的粗体字符(数字或字母):
Option Explicit
Public Sub extractBoldText()
Dim i As Long, boldStart As Long, boldTotal As Long, cel As Range, sz As Long
Set cel = Cells(1, 1) 'A1 contains "146976 12323 8448948 983893"; 12323 is bold
sz = Len(cel)
If sz > 0 Then
While Not cel.Characters(Start:=i, Length:=1).Font.Bold And i < sz
i = i + 1
Wend
boldStart = IIf(i = 0, 1, i)
While cel.Characters(Start:=i, Length:=1).Font.Bold And i < sz
i = i + 1
Wend
boldTotal = IIf(i = sz, i, i - boldStart)
End If
If boldTotal > 0 Then MsgBox Mid(cel, boldStart, boldTotal) 'Will output "12323"
End Sub