ExcelBanter

ExcelBanter (https://www.excelbanter.com/)
-   Excel Programming (https://www.excelbanter.com/excel-programming/)
-   -   Using Excel Programming to bold part of the text (https://www.excelbanter.com/excel-programming/314093-using-excel-programming-bold-part-text.html)

Roger Bedford[_3_]

Using Excel Programming to bold part of the text
 
I would like to create the information below where the TEXT function result is
bold and the latter text is a normal font; see below. One person in the Excel
Function Newsgroup suggested that this could be done using Excel Programming.
=TEXT(G16*100,"00")&" cents $US"

Any sugestions will be much appreciated.

Roger

Myrna Larson

Using Excel Programming to bold part of the text
 
The only way to make this change automatically would be to use a
Worksheet_Change event macro. The following routine searches for the 1st space
and makes everything to the left of that space bold. That said, if I type text
in the cell, like 23 cents $US, it works. But with 0.23 in G1, it doesn't work
with your formula.


Private Sub Worksheet_Change(ByVal Target As Range)
Dim Txt As String
Dim i As Long

Txt = Target.Text
i = InStr(Txt, " ")
Target.Characters(1, i - 1).Font.Bold = True

End Sub


On Wed, 20 Oct 2004 03:51:33 GMT, (Roger Bedford) wrote:

I would like to create the information below where the TEXT function result

is
bold and the latter text is a normal font; see below. One person in the

Excel
Function Newsgroup suggested that this could be done using Excel Programming.
=TEXT(G16*100,"00")&" cents $US"

Any sugestions will be much appreciated.

Roger



Harlan Grove

Using Excel Programming to bold part of the text
 
"Myrna Larson" wrote...
The only way to make this change automatically would be to use a
Worksheet_Change event macro. The following routine searches for the
1st space and makes everything to the left of that space bold. That
said, if I type text in the cell, like 23 cents $US, it works. But
with 0.23 in G1, it doesn't work with your formula.


It shouldn't work with any formula.

Private Sub Worksheet_Change(ByVal Target As Range)
Dim Txt As String
Dim i As Long

Txt = Target.Text
i = InStr(Txt, " ")
Target.Characters(1, i - 1).Font.Bold = True
End Sub

(Roger Bedford) wrote:

....
=TEXT(G16*100,"00")&" cents $US"


If the cell in question contains a formula, the cell doesn't contain a
Characters object that can be used to provide substring formatting. For
example, under Excel 2000, Myrna's event handler makes the ENTIRE result of
Roger's formula bold.

Doesn't the Characters object only work with substrings only when cells
contain text constants?



Peter T

Using Excel Programming to bold part of the text
 
Hi Roger,

As Harlan says a font in a formula cell cannot have mixed formats.

One approach would be NOT to write a formula in the cell where you want your
cents to be displayed, and let the following Event code do it for you, along
the lines of Myrna's suggestion.

Select G1 and in the Name box left of input bar type "centsIn" without
quotes. Select the cell where you want the converted cents to be displayed
and name it "centsOut".

Right click the sheet tab View code and paste following into the module:


Private Sub Worksheet_Change(ByVal Target As Range)
Dim rIn As Range, rOut As Range, n As Long, s As String

On Error GoTo errH
Set rIn = Range("centsIn")

If Intersect(Target, rIn) Is Nothing Then Exit Sub
Set rOut = Range("centsOut")
If IsNumeric(rIn) Then
s = rIn.Value * 100
Else: s = "error"
End If
n = Len(s)
s = s & " cents US$"
Application.EnableEvents = False
With rOut
.Font.Bold = False
.Value = s
.Characters(1, n).Font.Bold = True
End With
done:
Application.EnableEvents = True
Exit Sub
errH:
s = ""
If rIn Is Nothing Then s = "centsIn"
If rOut Is Nothing Then s = "centsOut"
If s < "" Then MsgBox s & " does not exist"
GoTo done
End Sub


The reason for naming the cells is the code should work if subsequently you
move them.

Regards,
Peter

"Roger Bedford" wrote in message
...
I would like to create the information below where the TEXT function

result is
bold and the latter text is a normal font; see below. One person in the

Excel
Function Newsgroup suggested that this could be done using Excel

Programming.
=TEXT(G16*100,"00")&" cents $US"

Any sugestions will be much appreciated.

Roger




Tushar Mehta

Using Excel Programming to bold part of the text
 
A non-programmatic approach would be to put the TEXT() formula in one
cell and the "cents $US" literal in the cell to the right. Right-align
the former and left-align the latter. Now, make the entire first cell
bold.

--
Regards,

Tushar Mehta
www.tushar-mehta.com
Excel, PowerPoint, and VBA add-ins, tutorials
Custom MS Office productivity solutions

In article ,
says...
I would like to create the information below where the TEXT function result is
bold and the latter text is a normal font; see below. One person in the Excel
Function Newsgroup suggested that this could be done using Excel Programming.
=TEXT(G16*100,"00")&" cents $US"

Any sugestions will be much appreciated.

Roger


Roger Bedford[_3_]

Using Excel Programming to bold part of the text
 
Thank you all very much for your help. I have decided to abort solving
this problem as it looks almost impossible to do in a clean manner and I
am only used to Excel 5 macros so have a long way to go to get up to the
new macros.

Again, many thanks,

Roger



*** Sent via Developersdex http://www.developersdex.com ***
Don't just participate in USENET...get rewarded for it!


All times are GMT +1. The time now is 05:06 PM.

Powered by vBulletin® Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
ExcelBanter.com