View Single Post
  #2   Report Post  
Posted to microsoft.public.excel.programming
Dave Peterson Dave Peterson is offline
external usenet poster
 
Posts: 35,218
Default Checking whether a field is bold.

You could use a UserDefined Function:

Option Explicit
Function isBold(rng As Range) As Variant

application.volatile

If rng(1).Font.Bold Then
isBold = True
ElseIf IsNull(rng(1).Font.Bold) Then
isBold = "Mixed"
Else
isBold = False
End If

End Function

Then you can use it in a worksheet cell like:
=isbold(a1)

or in your sample:
=if(isbold(a1)=true,a1+a2,a1-a2)

But be aware that changing the boldness of a cell is not something that causes
excel to recalculate. Hit alt-ctrl-F9 to force it recalc (before you trust the
results).

If you're new to macros, you may want to read David McRitchie's intro at:
http://www.mvps.org/dmcritchie/excel/getstarted.htm

Short course:

Open your workbook.
Hit alt-f11 to get to the VBE (where macros/UDF's live)
hit ctrl-R to view the project explorer
Find your workbook.
should look like: VBAProject (yourfilename.xls)

right click on the project name
Insert, then Module
You should see the code window pop up on the right hand side

Paste the code in there.

Now go back to excel.
and type your formula into a test cell.

"Craig & Co." wrote:

Hi,

Looking for a command to do the following

=IF (TEXT(A1) IS BOLD,<ADDITION FUNCTION,<DIFFERENT FUNCTION)

Any ideas?

Trying to put together a Line of Credit calculator, where my pay days are
bolded, so
to work out a pay day compared to an interest day I need the function to
tell me if it's bold.

I believe I have already worked out the function if both the interest day
and pay day fall on the same day, just
need to work out if the date is bold or not.

Thank you in advance.
Craig.


--

Dave Peterson