Select only bold text

I have converted a PDF, via Adobe, into a spreadsheet. A cell contains text where the first part of the text is enboldened. I want to extract this enboldened text into another cell. e.g my new cell should have “This part is in bold”

This part is in bold but the rest is not. So only want the first bit.

You should start with the fact that the font style, color, inserted images or shapes are not information suitable for processing for Calc - it works with numbers, text and formulas.

In other words, such a task cannot be solved by the built-in Calc tools.

However, this can be done with a macro:

Sub delBold()
Rem Call subroutine to process current selection:
	EnumerateSingleSelection(ThisComponent.getCurrentSelection())
End Sub

The current selection can be a single cell, a range, a multiple selection (a set of subranges), or anything else (such as a chart or picture):

Sub EnumerateSingleSelection(oSelection As Variant)
Dim oCurrentSelection As Variant
Dim i As Long, j As Long
Dim oCell As Variant
Rem Is it single cell? Delete bold text and other from it:
	If oSelection.supportsService("com.sun.star.sheet.SheetCell") Then
		delBoldAndOtherFromText(oSelection.getText())
		Exit Sub 
	EndIf
Rem Is it range? Recursive call this subroutine for each cell
	If oSelection.supportsService("com.sun.star.sheet.SheetCellRange") Then
		For j = 0 To oSelection.getRows().getCount()-1
			For i = 0 To oSelection.getColumns().getCount()-1
				EnumerateSingleSelection(oSelection.getCellByPosition(i, j))
			Next i
		Next j
		Exit Sub 
	EndIf 
Rem Is it multiple selection? Call this subroutine for each of the subranges:
	If oSelection.supportsService("com.sun.star.sheet.SheetCellRanges") Then
		For i = 0 To oSelection.getCount()-1
			EnumerateSingleSelection(oSelection.getByIndex(i))
		Next i
	Endif
End Sub

Processing the text of a single cell is not very complicated - just two nested loops (for details on text processing, see Pitonyak in the chapter 7.16.3. What does it mean to enumerate text content?)

Sub delBoldAndOtherFromText(oText As Variant)
Dim oParEnum As Variant, oPar As Variant, oSectionEnum As Variant, oSection As Variant, oCursor As Variant
	oParEnum = oText.createEnumeration()
	Do While oParEnum.hasMoreElements()
	    oPar = oParEnum.nextElement()
	    If oPar.supportsService("com.sun.star.text.Paragraph") Then
			oSectionEnum = oPar.createEnumeration()
			Do While oSectionEnum.hasMoreElements()
				oSection = oSectionEnum.nextElement()
				If oSection.CharWeight <> com.sun.star.awt.FontWeight.NORMAL Then
Rem or oSection.CharWeight = com.sun.star.awt.FontWeight.BOLD?
					oCursor = oText.createTextCursorByRange(oSection)
					oCursor.gotoEnd(True)
					oCursor.setString("")
					Exit Sub 
				EndIf 
			Loop
		EndIf 
	Loop
End Sub

Thank you for your reply. I am trying to avoid macros because I am passing this on to some else. They just about accept formulae. Will try another tack.