Closed Thread
Results 1 to 6 of 6

number formatting based on cell value

  1. #1
    helen@bgs
    Guest

    number formatting based on cell value

    Hi
    I would like to format a range of numbers in a spreadsheet depending on
    their individual values. The cell values are linked (e.g. ='Totals in
    solution'!E7) to a cell containing an 'if' statement and calculation e.g.
    =IF(D7<(D$3*D$4),((-D$3*D$4)*$C7/$B7),D7*($C7/$B7)) on another worksheet
    within the workbook. It kicks out values ranging from -30 to >100 which I'd
    like to format to 3 sig figs if less than 100 and no d.p. if 100 or greater.
    I'd also like to be able to format the negative values to <0.000, <0.00 and
    <00.0. I've a custom format that can manage some of this but not all. Any
    suggestions greatly appreciated.

  2. #2
    Vacation's Over
    Guest

    RE: number formatting based on cell value

    Looks like you have 5 different formats based on value.
    custom format can handle positiver nad negative so that take care of 2
    set custom format to the most likely positive and negative formats (not
    necessary but good practice)

    use Format>conditionalFormat to assign 3 additional formats if "cell is"
    "between" teh 3 other ranges. you are allowed 3 conditional formats per cell

    "helen@bgs" wrote:

    > Hi
    > I would like to format a range of numbers in a spreadsheet depending on
    > their individual values. The cell values are linked (e.g. ='Totals in
    > solution'!E7) to a cell containing an 'if' statement and calculation e.g.
    > =IF(D7<(D$3*D$4),((-D$3*D$4)*$C7/$B7),D7*($C7/$B7)) on another worksheet
    > within the workbook. It kicks out values ranging from -30 to >100 which I'd
    > like to format to 3 sig figs if less than 100 and no d.p. if 100 or greater.
    > I'd also like to be able to format the negative values to <0.000, <0.00 and
    > <00.0. I've a custom format that can manage some of this but not all. Any
    > suggestions greatly appreciated.


  3. #3
    helen@bgs
    Guest

    RE: number formatting based on cell value

    Mnay thanks. This is done manually at the mo by applying the conditional
    formatting throughout then manually picking cells for the negative and >100
    value format but its prone to cells getting missed. Is there a way I could
    automate with a search and replace function perhaps?

    "Vacation's Over" wrote:

    > Looks like you have 5 different formats based on value.
    > custom format can handle positiver nad negative so that take care of 2
    > set custom format to the most likely positive and negative formats (not
    > necessary but good practice)
    >
    > use Format>conditionalFormat to assign 3 additional formats if "cell is"
    > "between" teh 3 other ranges. you are allowed 3 conditional formats per cell
    >
    > "helen@bgs" wrote:
    >
    > > Hi
    > > I would like to format a range of numbers in a spreadsheet depending on
    > > their individual values. The cell values are linked (e.g. ='Totals in
    > > solution'!E7) to a cell containing an 'if' statement and calculation e.g.
    > > =IF(D7<(D$3*D$4),((-D$3*D$4)*$C7/$B7),D7*($C7/$B7)) on another worksheet
    > > within the workbook. It kicks out values ranging from -30 to >100 which I'd
    > > like to format to 3 sig figs if less than 100 and no d.p. if 100 or greater.
    > > I'd also like to be able to format the negative values to <0.000, <0.00 and
    > > <00.0. I've a custom format that can manage some of this but not all. Any
    > > suggestions greatly appreciated.


  4. #4
    Ron Rosenfeld
    Guest

    Re: number formatting based on cell value

    On Sat, 24 Sep 2005 06:04:01 -0700, helen@bgs
    <[email protected]> wrote:

    >Hi
    >I would like to format a range of numbers in a spreadsheet depending on
    >their individual values. The cell values are linked (e.g. ='Totals in
    >solution'!E7) to a cell containing an 'if' statement and calculation e.g.
    >=IF(D7<(D$3*D$4),((-D$3*D$4)*$C7/$B7),D7*($C7/$B7)) on another worksheet
    >within the workbook. It kicks out values ranging from -30 to >100 which I'd
    >like to format to 3 sig figs if less than 100 and no d.p. if 100 or greater.
    >I'd also like to be able to format the negative values to <0.000, <0.00 and
    ><00.0. I've a custom format that can manage some of this but not all. Any
    >suggestions greatly appreciated.


    You can use an event driven macro (Sheet_change). However, given your
    description there are some uncertainties as to which cells, when they change,
    should trigger the macro. The variable "Target" gets set to the cell that
    changes when the macro "fires". However, that will be the source cell of your
    calculations.

    For testing purposes, you can see what I set Source equal to, but you should
    restrict it to the minimum range required.

    One might think about using the dependents property of Target. Unfortunately,
    that will only apply to the active sheet, so may not add to the efficiency.

    Perhaps someone else knows a better method to restrict the firing of this
    macro, but it should work.

    To enter it, right click on the sheet tab "Totals in Solution"; select the View
    Code option, and paste the code below into the window that opens.

    Alter the code so that AOI refers to the range where the data you wish to have
    formatted is being displayed; and Source refers to the area where you enter
    data that will change the results in AOI.

    Hope this helps.

    ==================================
    Option Explicit

    Private Sub Worksheet_Change(ByVal Target As Range)
    Dim AOI As Range, Source As Range, c As Range

    Set AOI = Worksheets("Sheet1").Range("B2:D20")
    'Edit to range where results displayed
    Set Source = Worksheets("Totals in solution").Range("A1:E50")
    'Edit to range where data is entered

    If Not Intersect(Target, Source) Is Nothing Then
    On Error GoTo Handler
    For Each c In AOI
    With c
    'round to 3 significant digits only for testing
    Select Case Application.WorksheetFunction.Round _
    (.Value, Fix(-Log(Abs(.Value)) / Log(10)) + _
    3 + (Abs(.Value) > 1))
    Case Is >= 100
    .NumberFormat = "0"
    Case Is >= 10
    .NumberFormat = "0.0"
    Case Is >= 1
    .NumberFormat = "0.00"
    Case Is > -1
    .NumberFormat = "0.000;-0.000;0.000"
    Case Is > -10
    .NumberFormat = ";-0.00;"
    Case Else
    .NumberFormat = ";-0.0;"
    End Select
    End With
    Next c
    End If
    Exit Sub

    Handler: Select Case Err.Number
    Case Is = 13 'Type Mismatch Probably a Text entry
    Resume Next
    Case Is = 5 'Invalid procedure call; .value probably 0
    If c.Value = 0 Then c.NumberFormat = "0.000"
    Resume Next
    Case Else
    MsgBox "Error " & Err.Number & " " & Err.Description
    Resume Next
    End Select

    End Sub
    =============================


    --ron

  5. #5
    Vacation's Over
    Guest

    RE: number formatting based on cell value

    no manual work in my earlier post

    to be precise:
    put your formula in all cells required then:

    format all cells with 3 dp ##0.000

    then select all cells and format>conditional format
    (Excel allows up to 3 conditional formats)
    cell is > 100 format ##0
    cell is between 0 and -10 format ##0.00
    cell is between -10 and -20 format ##0.0

    the cells will automatically format the decimal places based on the value
    derived from the formula..

    "helen@bgs" wrote:

    > Mnay thanks. This is done manually at the mo by applying the conditional
    > formatting throughout then manually picking cells for the negative and >100
    > value format but its prone to cells getting missed. Is there a way I could
    > automate with a search and replace function perhaps?
    >
    > "Vacation's Over" wrote:
    >
    > > Looks like you have 5 different formats based on value.
    > > custom format can handle positiver nad negative so that take care of 2
    > > set custom format to the most likely positive and negative formats (not
    > > necessary but good practice)
    > >
    > > use Format>conditionalFormat to assign 3 additional formats if "cell is"
    > > "between" teh 3 other ranges. you are allowed 3 conditional formats per cell
    > >
    > > "helen@bgs" wrote:
    > >
    > > > Hi
    > > > I would like to format a range of numbers in a spreadsheet depending on
    > > > their individual values. The cell values are linked (e.g. ='Totals in
    > > > solution'!E7) to a cell containing an 'if' statement and calculation e.g.
    > > > =IF(D7<(D$3*D$4),((-D$3*D$4)*$C7/$B7),D7*($C7/$B7)) on another worksheet
    > > > within the workbook. It kicks out values ranging from -30 to >100 which I'd
    > > > like to format to 3 sig figs if less than 100 and no d.p. if 100 or greater.
    > > > I'd also like to be able to format the negative values to <0.000, <0.00 and
    > > > <00.0. I've a custom format that can manage some of this but not all. Any
    > > > suggestions greatly appreciated.


  6. #6
    Ron Rosenfeld
    Guest

    Re: number formatting based on cell value

    On Sat, 24 Sep 2005 15:26:01 -0700, Vacation's Over
    <[email protected]> wrote:

    >no manual work in my earlier post
    >
    >to be precise:
    >put your formula in all cells required then:
    >
    >format all cells with 3 dp ##0.000
    >
    >then select all cells and format>conditional format
    >(Excel allows up to 3 conditional formats)
    >cell is > 100 format ##0
    >cell is between 0 and -10 format ##0.00
    >cell is between -10 and -20 format ##0.0
    >
    >the cells will automatically format the decimal places based on the value
    >derived from the formula..


    What version of Excel are you using?

    In Excel 2002, conditional formatting only has options for formatting the Font;
    Borders and Patterns.


    --ron

Closed Thread

Thread Information

Users Browsing this Thread

There are currently 1 users browsing this thread. (0 members and 1 guests)

Bookmarks

Posting Permissions

  • You may not post new threads
  • You may not post replies
  • You may not post attachments
  • You may not edit your posts

Search Engine Friendly URLs by vBSEO 3.6.0 RC 1