+ Reply to Thread
Results 1 to 5 of 5

Moving data labels around with VBA (and adding a line between two

  1. #1
    Caro-Kann Defence
    Guest

    Moving data labels around with VBA (and adding a line between two

    Hello.

    I am looking for a way to manage data labels in an automated charting
    procedure I am writing.

    The chart is a waterfall chart (I believe) and I'd like to be able to loop
    through each dataseries/column to find the height of the total column and
    then set the label for the total column to sit x points above it.

    There is a second issue I need help with. As the chart displays components
    of return for stocks and bonds, I'd like to place a line in between the last
    stock and the first bond shown. Is there a way that I can place this line
    dynamically (charts will like have different numbers of stocks and bonds - as
    will a particular chart over time).

    I think there is an add-in someone mentioned I could try downloading but I'd
    like to avoid that if possible.

    Thanks,
    Caro-Kann Defence

  2. #2
    hennie
    Guest

    Re: Moving data labels around with VBA (and adding a line between two


    Good day,

    I think what you are looking for is what I use to control the chart
    from Access when I export data. Change the source data, for series 1
    to what ever to something similar to your legend as it is easier to
    work with. Running a macro would give you something similar to my code
    and there is a few options of where to place the lable.

    I have had a little problem to display both the legend or
    identification line and the value in the same block and that is why
    there is two sections and it is display as a line chart.

    With Source data you can change the series to a name.

    With ActiveChart
    With ActiveChart.Axes(xlValue)
    .MinimumScale = 30
    .MaximumScale = 170
    .MinorUnit = 1
    ' .MajorUnitIsAuto = True
    '.Crosses = xlCustom
    .CrossesAt = 30
    .ReversePlotOrder = False
    '.ScaleType = xlLinear

    End With

    With .SeriesCollection("Upper Control Limit").Points(19)
    .HasDataLabel = True
    .DataLabel.Text = " Upper Control Limit ="
    .DataLabel.Font.Size = 7
    .DataLabel.Font.Italic = True
    .DataLabel.HorizontalAlignment = xlRight
    .DataLabel.VerticalAlignment = xlTop
    .DataLabel.Position = xlLabelPositionAbove
    .DataLabel.Orientation = xlHorizontal
    End With

    With .SeriesCollection("Upper Control Limit").Points(24)
    .HasDataLabel = True
    ' .DataLabel.Text = "Upper Control Limit = 2.3"
    .DataLabel.Font.Size = 7
    .DataLabel.Font.Italic = True
    .DataLabel.HorizontalAlignment = xlRight
    .DataLabel.VerticalAlignment = xlTop
    .DataLabel.Position = xlLabelPositionAbove
    .DataLabel.Orientation = xlHorizontal
    End With


    I hope this helps

    Hennie
    Caro-Kann Defence wrote:
    > *Hello.
    >
    > I am looking for a way to manage data labels in an automated
    > charting
    > procedure I am writing.
    >
    > The chart is a waterfall chart (I believe) and I'd like to be able to
    > loop
    > through each dataseries/column to find the height of the total column
    > and
    > then set the label for the total column to sit x points above it.
    >
    > There is a second issue I need help with. As the chart displays
    > components
    > of return for stocks and bonds, I'd like to place a line in between
    > the last
    > stock and the first bond shown. Is there a way that I can place this
    > line
    > dynamically (charts will like have different numbers of stocks and
    > bonds - as
    > will a particular chart over time).
    >
    > I think there is an add-in someone mentioned I could try downloading
    > but I'd
    > like to avoid that if possible.
    >
    > Thanks,
    > Caro-Kann Defence *




    --
    hennie
    ------------------------------------------------------------------------
    Posted via http://www.mcse.ms
    ------------------------------------------------------------------------
    View this thread: http://www.mcse.ms/message1990730.html


  3. #3
    Jon Peltier
    Guest

    Re: Moving data labels around with VBA (and adding a line between two

    I follow a methodology which is a little more complicated in the chart, but
    much less so in VBA (in fact, it requires NO VBA).

    For each set of labels I need, I add a line chart (or XY chart) series to
    the chart, with X and Y values selected to precisely locate the label with
    respect to the floating columns. Various formulas adjust these X and Y as
    needed to move the labels to align with the columns. The added series are
    formatted to be hidden (no line, no markers). Then I use one of these free
    Excel add-ins to apply the appropriate datalabels to the points. Once
    applied, I never need to readjust them, because the datalabel text is linked
    to the cells in the worksheet that contain the text for the labels.

    Rob Bovey's Chart Labeler, http://appspro.com
    John Walkenbach's Chart Tools, http://j-walk.com/ss

    - Jon
    -------
    Jon Peltier, Microsoft Excel MVP
    Peltier Technical Services
    Tutorials and Custom Solutions
    http://PeltierTech.com/
    _______

    "Caro-Kann Defence" <[email protected]> wrote in
    message news:[email protected]...
    > Hello.
    >
    > I am looking for a way to manage data labels in an automated charting
    > procedure I am writing.
    >
    > The chart is a waterfall chart (I believe) and I'd like to be able to loop
    > through each dataseries/column to find the height of the total column and
    > then set the label for the total column to sit x points above it.
    >
    > There is a second issue I need help with. As the chart displays components
    > of return for stocks and bonds, I'd like to place a line in between the
    > last
    > stock and the first bond shown. Is there a way that I can place this line
    > dynamically (charts will like have different numbers of stocks and bonds -
    > as
    > will a particular chart over time).
    >
    > I think there is an add-in someone mentioned I could try downloading but
    > I'd
    > like to avoid that if possible.
    >
    > Thanks,
    > Caro-Kann Defence




  4. #4
    Caro-Kann Defence
    Guest

    Re: Moving data labels around with VBA (and adding a line between

    Hi Jon.

    Thanks for the response. I do have one follow-up question: is there a way to
    set the label values to show different values than the ones that would
    normally be automatically picked up in the chart? For example, instead of
    showing a label value of "2" could I tie it to a cell in the worksheet that
    has a value "4" (or "Eggs" for that matter)?

    Thanks again. I am a little concerned about usign the Add-ins given my IT
    department may be a tough group to allow external programs being brought in
    (sorry!).

    CKD

    "Jon Peltier" wrote:

    > I follow a methodology which is a little more complicated in the chart, but
    > much less so in VBA (in fact, it requires NO VBA).
    >
    > For each set of labels I need, I add a line chart (or XY chart) series to
    > the chart, with X and Y values selected to precisely locate the label with
    > respect to the floating columns. Various formulas adjust these X and Y as
    > needed to move the labels to align with the columns. The added series are
    > formatted to be hidden (no line, no markers). Then I use one of these free
    > Excel add-ins to apply the appropriate datalabels to the points. Once
    > applied, I never need to readjust them, because the datalabel text is linked
    > to the cells in the worksheet that contain the text for the labels.
    >
    > Rob Bovey's Chart Labeler, http://appspro.com
    > John Walkenbach's Chart Tools, http://j-walk.com/ss
    >
    > - Jon
    > -------
    > Jon Peltier, Microsoft Excel MVP
    > Peltier Technical Services
    > Tutorials and Custom Solutions
    > http://PeltierTech.com/
    > _______
    >
    > "Caro-Kann Defence" <[email protected]> wrote in
    > message news:[email protected]...
    > > Hello.
    > >
    > > I am looking for a way to manage data labels in an automated charting
    > > procedure I am writing.
    > >
    > > The chart is a waterfall chart (I believe) and I'd like to be able to loop
    > > through each dataseries/column to find the height of the total column and
    > > then set the label for the total column to sit x points above it.
    > >
    > > There is a second issue I need help with. As the chart displays components
    > > of return for stocks and bonds, I'd like to place a line in between the
    > > last
    > > stock and the first bond shown. Is there a way that I can place this line
    > > dynamically (charts will like have different numbers of stocks and bonds -
    > > as
    > > will a particular chart over time).
    > >
    > > I think there is an add-in someone mentioned I could try downloading but
    > > I'd
    > > like to avoid that if possible.
    > >
    > > Thanks,
    > > Caro-Kann Defence

    >
    >
    >


  5. #5
    Andy Pope
    Guest

    Re: Moving data labels around with VBA (and adding a line between

    Hi,

    You can link a datalabel, as well as chart titles, to cells. Here is an
    explanation of how to do it manually for the chart title but the
    principle is the same for data labels. Just click the data labels once
    to select and the click the individual data label in order to be able to
    link to a cell.
    http://www.andypope.info/tips/tip001.htm

    Cheers
    Andy

    Caro-Kann Defence wrote:
    > Hi Jon.
    >
    > Thanks for the response. I do have one follow-up question: is there a way to
    > set the label values to show different values than the ones that would
    > normally be automatically picked up in the chart? For example, instead of
    > showing a label value of "2" could I tie it to a cell in the worksheet that
    > has a value "4" (or "Eggs" for that matter)?
    >
    > Thanks again. I am a little concerned about usign the Add-ins given my IT
    > department may be a tough group to allow external programs being brought in
    > (sorry!).
    >
    > CKD
    >
    > "Jon Peltier" wrote:
    >
    >
    >>I follow a methodology which is a little more complicated in the chart, but
    >>much less so in VBA (in fact, it requires NO VBA).
    >>
    >>For each set of labels I need, I add a line chart (or XY chart) series to
    >>the chart, with X and Y values selected to precisely locate the label with
    >>respect to the floating columns. Various formulas adjust these X and Y as
    >>needed to move the labels to align with the columns. The added series are
    >>formatted to be hidden (no line, no markers). Then I use one of these free
    >>Excel add-ins to apply the appropriate datalabels to the points. Once
    >>applied, I never need to readjust them, because the datalabel text is linked
    >>to the cells in the worksheet that contain the text for the labels.
    >>
    >> Rob Bovey's Chart Labeler, http://appspro.com
    >> John Walkenbach's Chart Tools, http://j-walk.com/ss
    >>
    >>- Jon
    >>-------
    >>Jon Peltier, Microsoft Excel MVP
    >>Peltier Technical Services
    >>Tutorials and Custom Solutions
    >>http://PeltierTech.com/
    >>_______
    >>
    >>"Caro-Kann Defence" <[email protected]> wrote in
    >>message news:[email protected]...
    >>
    >>>Hello.
    >>>
    >>>I am looking for a way to manage data labels in an automated charting
    >>>procedure I am writing.
    >>>
    >>>The chart is a waterfall chart (I believe) and I'd like to be able to loop
    >>>through each dataseries/column to find the height of the total column and
    >>>then set the label for the total column to sit x points above it.
    >>>
    >>>There is a second issue I need help with. As the chart displays components
    >>>of return for stocks and bonds, I'd like to place a line in between the
    >>>last
    >>>stock and the first bond shown. Is there a way that I can place this line
    >>>dynamically (charts will like have different numbers of stocks and bonds -
    >>>as
    >>>will a particular chart over time).
    >>>
    >>>I think there is an add-in someone mentioned I could try downloading but
    >>>I'd
    >>>like to avoid that if possible.
    >>>
    >>>Thanks,
    >>>Caro-Kann Defence

    >>
    >>
    >>


    --

    Andy Pope, Microsoft MVP - Excel
    http://www.andypope.info

+ Reply to 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