I've been trying to work out how to do this for some time on my own and thought it was about time I asked for some help

I've not worked with Excel for years and it is not all coming back.
I have a several columns with a few rows containing strings such as
a b c
1 product is xxxx thanks cat is xxxx alive
2 product is xxxx thanks dog is xxxx alive
3 product is xxxx thanks mouse is xxxx alive
4 product is xxxx thanks horse is xxxx alive


The data I am working on is not about if cats and dogs are alive, but I thought this would be a much simpler example as it is the same thing
I have thousands of rows with multiple columns some of which have "xxxx" within the cell,
I would like to replace "xxxx" with the contents of column B from the same row but leave the rest of the cell's string untouched

but can't for the life of me figure out how to do it
I was initially writing concatenate statements in each column and then copying them for each row, but its taking a long time and I'm sure there must be a way of saying

FOR each cell in current worksheet
IF string in(Current cell) contains "xxxx"
replace "xxxx" with B(current row)
Next cell
END IF


Any Guidance would be appreciated