Excel 2003 "Databar" help

wongs18

New Member
Joined
Jun 19, 2013
Messages
8
Hi Guys!:)

I found this amazing vba code online:
Function DataBar(lngValue As Long)
DataBar = String(lngValue, ChrW(9608))
End Function

Basically allows me to generate these "bars" to represent my data.
However; it doesn't generate bars for negative data...
I was wondering if it is possible to modify this code so if the data is positive the bar grows to the right as green and if it is negative the bar grows to the left red?:confused:

Thanks gusy!
 

Excel Facts

What is the fastest way to copy a formula?
If A2:A50000 contain data. Enter a formula in B2. Select B2. Double-click the Fill Handle and Excel will shoot the formula down to B50000.
I got this to work for positve green data.

Code:
Function DataBar(lngValue As Long)
DataBar = String(lngValue, ChrW(9608))
If lngValue > 0 Then ActiveCell.Font.Color = -11489280
End Function

of course... this only works if the bar is the activecell...
 
Last edited:
Upvote 0
Ok, try this. I changed a few things. It has two variables. The first is the value or location of the value, the second is the location of the function itself. Negative doesn't go to the left, but it colors it.
Code:
Function DataBar(lngValue As Long, myloc As Range)
DataBar = String(Abs(lngValue), ChrW(9608))
If lngValue > 0 Then
myloc.Font.Color = -11489280
Else
myloc.Font.Color = -16776961
End If
End Function
 
Upvote 0
How are you setting it up?
A1: 5
B1: =databar(A1,B1)

That should get you a green bar 5 long.

A1: -4
That should get you a red bar 4 long.
 
Upvote 0
Try this. And depending on how you have it set up, you can right justify the negative values to make the bar appear it is going left.

Code:
Function DataBar(lngValue As Long, myloc As Range)
DataBar = String(Abs(lngValue), ChrW(9608))
If lngValue > 0 Then
myloc.Font.Color = RGB(34, 139, 34)
Else
myloc.Font.Color = RGB(255, 0, 0)
End If
End Function
 
Upvote 0
:( thank you so much for all your help! I really appreicate this! but I have no idea why... but it still doesn't show colour.. its still black :(( could it be im using excel 2003?
 
Upvote 0
I've got 2010 and it changes colors on mine. Tried it on a 2003 machine and it sticks with one color, so it might be. Worth a shot though.
 
Upvote 0

Forum statistics

Threads
1,215,433
Messages
6,124,861
Members
449,195
Latest member
MoonDancer

We've detected that you are using an adblocker.

We have a great community of people providing Excel help here, but the hosting costs are enormous. You can help keep this site running by allowing ads on MrExcel.com.
Allow Ads at MrExcel

Which adblocker are you using?

Disable AdBlock

Follow these easy steps to disable AdBlock

1)Click on the icon in the browser’s toolbar.
2)Click on the icon in the browser’s toolbar.
2)Click on the "Pause on this site" option.
Go back

Disable AdBlock Plus

Follow these easy steps to disable AdBlock Plus

1)Click on the icon in the browser’s toolbar.
2)Click on the toggle to disable it for "mrexcel.com".
Go back

Disable uBlock Origin

Follow these easy steps to disable uBlock Origin

1)Click on the icon in the browser’s toolbar.
2)Click on the "Power" button.
3)Click on the "Refresh" button.
Go back

Disable uBlock

Follow these easy steps to disable uBlock

1)Click on the icon in the browser’s toolbar.
2)Click on the "Power" button.
3)Click on the "Refresh" button.
Go back
Back
Top