Link to home
Create AccountLog in
Avatar of Yana Burmistrova
Yana Burmistrova

asked on

VBA color chart bars

Dear All,

First of all I would like to thank you for further comments and reading my question!
I am really Need in your help!

I created a Chart by using Pivot table.The Chart Shows the Name of the products and Revenue for each of this products.

Could you please help me,how can i do in VBA or by another method,I want to choose the one product,press on it,and it will be automatically Shows on the graph by changing Color only of the bar of this specific product ?

for example,all columns are Grey,then i will choose on product,and this product will be automatically Shows by red on the chart

I am really appreciate your help!I am very tried to explain...
Avatar of Saqib Husain
Saqib Husain
Flag of Pakistan image

You would have to upload a sample excel file to understand and work on the problem.
BTW Please delete your other question to eliminate any confusion.
Avatar of Yana Burmistrova
Yana Burmistrova

ASKER

Please find attached
VBA.xlsx
ASKER CERTIFIED SOLUTION
Avatar of Rgonzo1971
Rgonzo1971

Link to home
membership
Create a free account to see this answer
Signing up is free and takes 30 seconds. No credit card required.
See answer
Thank you so much for your help!!!!
you are an expert!
 
I am very appreciate your help!

it works!!!
Could you please let me know,is it possible to add also the Name of the product?

For example,when i double clicked on the product,the Color Change and Shows on the graph,is it possible also to add the Name of the choosing product on the upp of the column ?
You mean in the chart?
yes,please.only for choosing product
then try
Private Sub Worksheet_BeforeDoubleClick(ByVal Target As Range, Cancel As Boolean)

Set myRng = ActiveSheet.PivotTables(1).RowRange.Resize(ActiveSheet.PivotTables(1).RowRange.Rows.Count - 2).Offset(1)

Set SerCol = ActiveSheet.Shapes(1).Chart.SeriesCollection(1)
ActiveSheet.Shapes(1).Chart.ClearToMatchStyle
On Error Resume Next
SerCol.DataLabels.Delete
On Error GoTo 0
If Not Intersect(Target, myRng) Is Nothing Then
    res = 0
    On Error Resume Next ' find corresponding XValue
    res = WorksheetFunction.Match(Cells(Target.Row, 1), SerCol.XValues, 0)
    On Error GoTo 0
    If res <> 0 Then ' if found
        With SerCol.Points(res).Format.Fill
            .Visible = msoTrue
            .ForeColor.RGB = RGB(255, 0, 0)
            .Solid
        End With
        SerCol.Points(res).ApplyDataLabels
        SerCol.Points(res).DataLabel.ShowCategoryName = True
        SerCol.Points(res).DataLabel.ShowValue = False
    End If

Else
  '  ActiveSheet.Shapes(1).Chart.ClearToMatchStyle
End If
End Sub

Open in new window

VBAv2.xlsm
excelent!!!!!

Thank you very much!!!
Dear All,
Could you please help me to do the same ,but with a simple Chart and data in Excel?

how can i do automatically showing the Color and Name of the product,without Pivot table?

I am very appreciate your help!

Thank you very much for your futher answers and comments!!!
Excel-VBA.xlsx
Hi,

Could you open a new question?

Regards
yes sure!