Solved

VBA color chart bars

Posted on 2016-09-01
12
66 Views
Last Modified: 2016-09-02
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...
0
Comment
Question by:Yana Burmistrova
  • 6
  • 4
  • 2
12 Comments
 
LVL 43

Expert Comment

by:Saqib Husain, Syed
ID: 41779376
You would have to upload a sample excel file to understand and work on the problem.
0
 
LVL 43

Expert Comment

by:Saqib Husain, Syed
ID: 41779382
BTW Please delete your other question to eliminate any confusion.
0
 

Author Comment

by:Yana Burmistrova
ID: 41779420
Please find attached
VBA.xlsx
0
 
LVL 48

Accepted Solution

by:
Rgonzo1971 earned 500 total points
ID: 41779523
Hi,

pls try to dbl-click on the first column
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
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
    End If

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

Open in new window

Regards
VBAv1.xlsm
0
 

Author Comment

by:Yana Burmistrova
ID: 41779543
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 ?
0
 
LVL 48

Expert Comment

by:Rgonzo1971
ID: 41779637
You mean in the chart?
0
IT, Stop Being Called Into Every Meeting

Highfive is so simple that setting up every meeting room takes just minutes and every employee will be able to start or join a call from any room with ease. Never be called into a meeting just to get it started again. This is how video conferencing should work!

 

Author Comment

by:Yana Burmistrova
ID: 41779674
yes,please.only for choosing product
0
 
LVL 48

Expert Comment

by:Rgonzo1971
ID: 41779754
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
0
 

Author Comment

by:Yana Burmistrova
ID: 41779757
excelent!!!!!

Thank you very much!!!
0
 

Author Comment

by:Yana Burmistrova
ID: 41781133
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
0
 
LVL 48

Expert Comment

by:Rgonzo1971
ID: 41781134
Hi,

Could you open a new question?

Regards
0
 

Author Comment

by:Yana Burmistrova
ID: 41781135
yes sure!
0

Featured Post

Maximize Your Threat Intelligence Reporting

Reporting is one of the most important and least talked about aspects of a world-class threat intelligence program. Here’s how to do it right.

Join & Write a Comment

In this article we discuss how to recover the missing Outlook 2011 for Mac data like Emails and Contacts manually.
A simple tool to export all objects of two Access files as text and compare it with Meld, a free diff tool.
In this fifth video of the Xpdf series, we discuss and demonstrate the PDFdetach utility, which is able to list and, more importantly, extract attachments that are embedded in PDF files. It does this via a command line interface, making it suitable …
Polish reports in Access so they look terrific. Take yourself to another level. Equations, Back Color, Alternate Back Color. Write easy VBA Code. Tighten space to use less pages. Launch report from a menu, considering criteria only when it is filled…

757 members asked questions and received personalized solutions in the past 7 days.

Join the community of 500,000 technology professionals and ask your questions.

Join & Ask a Question

Need Help in Real-Time?

Connect with top rated Experts

21 Experts available now in Live!

Get 1:1 Help Now