# How to get a partially bolded string in calc? [closed]

In column name I have a list with hundreds of strings, each one with one or more bolded words. In column grade I have their respectives grades. I want to get all names with A in grade column. But I want to preserve bolded words.

My formula is:

The result I want is this:

But I always get this:

I searched functions that get bolded text, but didn't found any. The best I found was https://ask.libreoffice.org/en/questi... but I couldn't figure out how to use this in order to solve my problem.

EDIT: I found something interesting here https://stackoverflow.com/questions/4... but seems like the guy did some LO Basic programming which honestly I didn't understand a thing and he just wanted to bold the first word of the string...

EDIT2: After Liberty Belle's answer I updated my post to better clear what I really want.

edit retag reopen merge delete

### Closed for the following reason the question is answered, right answer was accepted by Alex Kemp close date 2020-07-29 12:01:50.570329

1

This is completely different from your original post. This is not at all what you originally asked.

( 2018-05-26 16:14:53 +0200 )edit

VLOOKUP is overkill, at least in the example you have shown here. IF(A2="A";B2;"") is enough.

( 2018-05-26 20:38:22 +0200 )edit

+1 Very well written question. Good example and research. There's nothing wrong with editing the question multiple times until it is clear, and it's good to edit the question in response to comments and answers as you have done.

( 2018-05-26 21:25:44 +0200 )edit

( 2018-05-28 16:07:02 +0200 )edit
1

I completely disagree that's "there's nothing wrong with editing the question multiple times until it is clear, and it's good to edit the question in response to comments and answers as you have done". You wouldn't feel that way if you had wasted your time answering it only to find out he meant something completely different. And no apology! Please don't encourage people to be sloppy and careless with other people's time and attention. Really.

( 2018-05-31 21:50:00 +0200 )edit
1

"You wouldn't feel that way if you had wasted your time answering it only to find out he meant something completely different." I've had this happen many times before, and while it can be annoying, at the end of the day, the question gets answered and hopefully, it will help other people who come across it in the future. Sometimes it's hard to know how to write a question to avoid misinterpretation, and the only way is to wait until someone attempts an answer and then edit the question.

( 2018-06-01 20:47:22 +0200 )edit
1

It's also important to make people feel welcome even if (especially if) they don't have a lot of experience on how to ask questions correctly. Granted, that link is not for this site, but I hope people on this site share those values.

( 2018-06-01 21:12:49 +0200 )edit

"And no apology!" -- That seems incorrect. He wrote, "Sorry for this. When I said..." in the comment. I'm not sure what more he could have done once he realized the original question needed to be corrected.

( 2018-06-01 21:24:35 +0200 )edit

Sort by » oldest newest most voted

It is impossible for cells containing formulas to be partially formatted. Only cells containing text may be partially formatted.

In the example file below, whenever the sheet content is changed, the macro will find any students with grade A and then copy the name and format to column D.

Sample file: Automatically Copy Formatting And Text.ods

Sub CellTextAndFormat(oEvent)
If oEvent.getColumns().hasByName("D") Then Exit Sub
oDoc = ThisComponent
oSheet = oDoc.getSheets().getByIndex(0)
oColumn = oSheet.getColumns().getByIndex(0)
oRanges = oDoc.createInstance("com.sun.star.sheet.SheetCellRanges")
oRanges.insertByName("a", oColumn)
oCells = oRanges.Cells.createEnumeration()
While oCells.hasMoreElements()
Call CopyForRow(row + 1)
Else
oCell = oSheet.getCellByPosition(3, row)
oCell.setString("")
End If
Wend
End Sub


CopyForRow() is based on recorded dispatcher code that copies and pastes formatted text, similar to @LibertyBelle's answer.

For more information on LO Basic, see Andrew Pitonyak's macro document. Part of my code was adapted from section 6.14. Display all data in a column.

Note: My first idea was to use spreadsheet formulas to determine which rows to copy. However, this added additional columns and required a more complex macro. Moving the logic to the macro proved to be better.

more

Thanks for such a comprehensive answer! I will try the macro you programmed and read your source on LO Basic

( 2018-05-28 16:12:51 +0200 )edit

Copy the cells from column name and then Edit > Paste Special into the new column. In the dialog box that pops up, select Text and Formats.

You would really benefit from reading the online documentation https://documentation.libreoffice.org... to learn the program. It will save you a lot of time in the end.

You get points for doing lots of research though!

more

I appreciate your answer, but it's not really what I need. Maybe I used the wrong words to say what I really need. When I say in the title "get" I mean after an operation like vlookup etc but I think I messed things up by using copied name in one of the columns. I'll update my post to better reflect my need.

( 2018-05-26 15:21:18 +0200 )edit
1

I answered the question that was asked by you. You didn't "use the wrong words" in your original post. You asked an entirely different question. You left out vital information. Please take the time to fully explain what your issue is before posting. I don't appreciate wasting my time and neither does anyone else here.

( 2018-05-26 16:16:33 +0200 )edit

Sorry for this. When I said "get" partially bolded strings I was referring to "retrieve" it including bolded words after some operation. I thought it was clear, I just perceived it was ambiguous after your answer. Or even worse, maybe a totally different question! I'm a Libreoffice user for many years and never posted any question because I always search the web the deepest I can. This time I didn't found and posted my first question.

( 2018-05-26 16:35:18 +0200 )edit

The official documentation itself uses "get" in the same meaning I used: "Formulas are equations using numbers and variables to get a result." Source: Introduction of Chapter 7 - Using Formulas and Functions, page 192 - LibreOffice 4.1 Calc Guide, avaiable here https://documentation.libreoffice.org...

Again, sorry for the confusion.

( 2018-05-26 16:38:31 +0200 )edit
1

Your original post said nothing about a formula to combine two different columns. You asked how to copy partial bolding from one column to another. That was all.

( 2018-05-26 17:05:00 +0200 )edit