Solved

Switch the axis of series in a Excel chart

Posted on 2015-02-19
8
48 Views
Last Modified: 2015-03-22
Hello,

I have written the following code to generate a Excel chart from Access.  It generates a chart with a Primary and Secondary Axis.  It works fine and generated the chart.  However, the client wants me to reverse the data set that populate each axis so that the data formerly popluating the primary axis will now populate the secondary axis and the data corresponding to the secondary axis will now populate the Primary axis.  When I set the axisgroup to 2 for the ex primary series and 1 for the former secondary axis, the primary axis would not populate.  I then inadvertently set the  axis group to 2 for all the series and lo and behold, everything worked fine.  I just don't understand why.  What am I missing?
Original Code
Private Sub Create_NEX_LIFR_Weekly_YDT_Chart(objWS As Object)
    
    Dim objXlSheet As Object
    Dim objXlChart As Object
    Dim objXlDataSheet As Object
    Dim objRng As Object
    Dim objRngChart1 As Object
    Dim objRngChart2 As Object
    Dim objSeries As Object
    Dim lngY As Long
    Dim NewSeries As Object

    Set objXlSheet = objWS
    Dim objTextbox As Object
    
    Set objXlDataSheet = mobjXlBook.Worksheets("NEX_LIFR_Weekly_YTD")
    Set objRng = objXlDataSheet.Range("A:A,G:G")
    lngY = objXlDataSheet.usedRange.rows.Count
    lngY = lngY + 10
    
    Set objXlChart = objXlSheet.chartobjects.Add(Left:=75, Width:=750, Top:=lngY, Height:=600).Chart
    
    
    Set objTextbox = objXlChart.Shapes.AddTextbox(1, 1, 1, 100, 20)
    objTextbox.select
    With objTextbox.TextEffect
        .Text = Format(Date, "mmm-dd-yyyy")
        .FontBold = True
    End With
    
    With objXlChart
        .SetSourceData Source:=objXlDataSheet.Range("A:B")
        
        .ChartType = 51  '2D clustered columns
        
        .HasTitle = True
        .ChartTitle.Text = "NEX LIFR Weekly YTD " & Year(Date)
        .HasLegend = True
        .PlotBy = 2
        .Axes(1).MajorUnit = 7

        .SetSourceData Source:=objXlDataSheet.Range("A:C")
        .SetSourceData Source:=objXlDataSheet.Range("A:D")
        .SetSourceData Source:=objXlDataSheet.Range("A:E")
        
        Set NewSeries = objXlChart.SeriesCollection(1)
        With NewSeries
            .Name = "# Lines (Non-NEX)"
            .AxisGroup = 1
        End With
        
        Set NewSeries = objXlChart.SeriesCollection(2)
        With NewSeries
            .Name = "# Lines Filled (Non-NEX)"
            .AxisGroup = 1
        End With
        
        Set NewSeries = objXlChart.SeriesCollection(3)
        With NewSeries
            .Name = "# Lines (NEX)"
            .AxisGroup = 1
        End With
        
        Set NewSeries = objXlChart.SeriesCollection(4)
        With NewSeries
            .Name = "# Lines Filled (NEX)"
            .AxisGroup = 1
        End With
        
        Set NewSeries = .SeriesCollection.NewSeries
        With NewSeries
            .Name = "Aggregate LIFR (Non-NEX)"
            .Values = objXlDataSheet.Range("F:F")
            .AxisGroup = 2
            .ChartType = 65
            .Format.Line.Weight = 1
        End With
        
        Set NewSeries = .SeriesCollection.NewSeries
        With NewSeries
            .Name = "Aggregate LIFR (NEX)"
            .Values = objXlDataSheet.Range("G:G")
            .AxisGroup = 2
            .ChartType = 65
            .Format.Line.Weight = 1
        End With

    End With
    
    With objXlChart.ChartArea.Format.Fill
        .Visible = True
        .ForeColor.SchemeColor = 41
        .BackColor.SchemeColor = 41
        .TwoColorGradient Style:=1, Variant:=1
    End With
    
    With objXlChart.PlotArea.Format.Fill
        .Visible = True
        .ForeColor.SchemeColor = 41
        .BackColor.SchemeColor = 41
        .TwoColorGradient Style:=1, Variant:=2
    End With


    
End Sub

Open in new window


Working Code
Private Sub Create_NEX_LIFR_Weekly_YDT_Chart(objWS As Object)
    
    Dim objXlSheet As Object
    Dim objXlChart As Object
    Dim objXlDataSheet As Object
    Dim objRng As Object
    Dim objRngChart1 As Object
    Dim objRngChart2 As Object
    Dim objSeries As Object
    Dim lngY As Long
    Dim NewSeries As Object

    Set objXlSheet = objWS
    Dim objTextbox As Object
    
    Set objXlDataSheet = mobjXlBook.Worksheets("NEX_LIFR_Weekly_YTD")
    Set objRng = objXlDataSheet.Range("A:A,G:G")
    lngY = objXlDataSheet.usedRange.rows.Count
    lngY = lngY + 10
    
    Set objXlChart = objXlSheet.chartobjects.Add(Left:=75, Width:=750, Top:=lngY, Height:=600).Chart
    
    
    Set objTextbox = objXlChart.Shapes.AddTextbox(1, 1, 1, 100, 20)
    objTextbox.select
    With objTextbox.TextEffect
        .Text = Format(Date, "mmm-dd-yyyy")
        .FontBold = True
    End With
    
    With objXlChart
        .SetSourceData Source:=objXlDataSheet.Range("A:B")
        
        .ChartType = 51  '2D clustered columns
        
        .HasTitle = True
        .ChartTitle.Text = "NEX LIFR Weekly YTD " & Year(Date)
        .HasLegend = True
        .PlotBy = 2
        .Axes(1).MajorUnit = 7

        .SetSourceData Source:=objXlDataSheet.Range("A:C")
        .SetSourceData Source:=objXlDataSheet.Range("A:D")
        .SetSourceData Source:=objXlDataSheet.Range("A:E")
        
        Set NewSeries = objXlChart.SeriesCollection(1)
        With NewSeries
            .Name = "# Lines (Non-NEX)"
            .AxisGroup = 2
        End With
        
        Set NewSeries = objXlChart.SeriesCollection(2)
        With NewSeries
            .Name = "# Lines Filled (Non-NEX)"
            .AxisGroup = 2
        End With
        
        Set NewSeries = objXlChart.SeriesCollection(3)
        With NewSeries
            .Name = "# Lines (NEX)"
            .AxisGroup = 2
        End With
        
        Set NewSeries = objXlChart.SeriesCollection(4)
        With NewSeries
            .Name = "# Lines Filled (NEX)"
            .AxisGroup = 2
        End With
        
        Set NewSeries = .SeriesCollection.NewSeries
        With NewSeries
            
            .Name = "Aggregate LIFR (Non-NEX)"
            .Values = objXlDataSheet.Range("F:F")
            .AxisGroup = 2
            .ChartType = 65
            .Format.Line.Weight = 1
        End With
        
        Set NewSeries = .SeriesCollection.NewSeries
        With NewSeries
            .Name = "Aggregate LIFR (NEX)"
            .Values = objXlDataSheet.Range("G:G")
            .AxisGroup = 2
            .ChartType = 65
            .Format.Line.Weight = 1
        End With

    End With
    
    With objXlChart.ChartArea.Format.Fill
        .Visible = True
        .ForeColor.SchemeColor = 41
        .BackColor.SchemeColor = 41
        .TwoColorGradient Style:=1, Variant:=1
    End With
    
    With objXlChart.PlotArea.Format.Fill
        .Visible = True
        .ForeColor.SchemeColor = 41
        .BackColor.SchemeColor = 41
        .TwoColorGradient Style:=1, Variant:=2
    End With


    
End Sub

Open in new window

0
Comment
Question by:chtullu135
8 Comments
 
LVL 45

Expert Comment

by:aikimark
ID: 40620859
If you were to have used the chart wizard to create these, you would see two radio buttons that allow you to set by rows or by columns for the plotting/graphing.  

Hypothesis: Since it appears early in the dialog sequence, I assume that its order is critical to the later decisions and actions.  In the unsuccessful case, your code was changing this value.  The changed value (downstream) was what caused the behavior you observed.

Test: Only have one (initial) setting of the primary axis in your code.  Comment/remove the others.  What you should see is the expected behavior of setting the primary axis to by-row or by-column.
0
 

Author Comment

by:chtullu135
ID: 40621386
I just noticed that in the code that I thought was working, that I lost my X axis.  I did not see the date values displayed on the x axis
0
 

Author Comment

by:chtullu135
ID: 40621456
I retested everything and found that when I changed the code to the following, that everything populated correctly.  (I've attached a pdf showing the chart.  However, when I try to reverse the vertical axis via the axis group property so that the one on the left appears on the right and the right axis is displayed on the left, the left vertical axis is blank as is the horizontal axis.  I attached two pdf files of the charts for both cases
Private Sub Create_NEX_LIFR_Weekly_YDT_Chart(objWS As Object)
    
    Dim objXlSheet As Object
    Dim objXlChart As Object
    Dim objXlDataSheet As Object
    Dim objRng As Object
    Dim objRngChart1 As Object
    Dim objRngChart2 As Object
    Dim objSeries As Object
    Dim lngY As Long
    Dim NewSeries As Object

    Set objXlSheet = objWS
    Dim objTextbox As Object
    
    Set objXlDataSheet = mobjXlBook.Worksheets("NEX_LIFR_Weekly_YTD")
    Set objRng = objXlDataSheet.Columns("A:A").Find("*", objXlDataSheet.[a1], -4163, , 1, 2)

    lngY = objXlDataSheet.usedRange.rows.Count
    lngY = lngY + 10
    
    Set objXlChart = objXlSheet.ChartObjects.Add(Left:=75, Width:=750, Top:=lngY, Height:=600).Chart
    
    Set objTextbox = objXlChart.Shapes.AddTextbox(1, 1, 1, 100, 20)
    objTextbox.select
    With objTextbox.TextEffect
        .Text = Format(Date, "mmm-dd-yyyy")
        .FontBold = True
    End With
    
    Set objTextbox = objXlChart.Shapes.AddTextbox(1, 600, 1, 150, 20)
    objTextbox.select
    With objTextbox.TextEffect
        .Text = "WE " & Format(objRng.Value, "mmm-dd-yyyy")
        .FontSize = 14
        .FontBold = True
    End With
    
    With objXlChart
        .SetSourceData Source:=objXlDataSheet.Range("A:B")
        
        .ChartType = 51  '2D clustered columns
        
        .HasTitle = True
        .ChartTitle.Text = "NEX LIFR Weekly YTD " & Year(Date)
        .HasLegend = True
        .Legend.Position = -4107
        .PlotBy = 2
        .Axes(1).MajorUnit = 7

        .SetSourceData Source:=objXlDataSheet.Range("A:C")
        .SetSourceData Source:=objXlDataSheet.Range("A:D")
        .SetSourceData Source:=objXlDataSheet.Range("A:E")
        
        Set NewSeries = objXlChart.SeriesCollection(1)
        With NewSeries
            .Name = "# Lines (Non-NEX)"
            .AxisGroup = 1
        End With
        
        Set NewSeries = objXlChart.SeriesCollection(2)
        With NewSeries
            .Name = "# Lines Filled (Non-NEX)"
            .AxisGroup = 1
        End With
        
        Set NewSeries = objXlChart.SeriesCollection(3)
        With NewSeries
            .Name = "# Lines (NEX)"
            .AxisGroup = 1
        End With
        
        Set NewSeries = objXlChart.SeriesCollection(4)
        With NewSeries
            .Name = "# Lines Filled (NEX)"
            .AxisGroup = 1
        End With
        
        Set NewSeries = .SeriesCollection.NewSeries
        With NewSeries
            
            .Name = "Aggregate LIFR (Non-NEX)"
            .Values = objXlDataSheet.Range("F:F")
            .AxisGroup = 2
            .ChartType = 65
            .Format.Line.Weight = 1
        End With
        
        Set NewSeries = .SeriesCollection.NewSeries
        With NewSeries
            .Name = "Aggregate LIFR (NEX)"
            .Values = objXlDataSheet.Range("G:G")
            .AxisGroup = 2
            .ChartType = 65
            .Format.Line.Weight = 1
        End With

    End With
    
    With objXlChart.ChartArea.Format.Fill
        .Visible = True
        .ForeColor.SchemeColor = 41
        .BackColor.SchemeColor = 41
        .TwoColorGradient Style:=1, Variant:=1
    End With
    
    With objXlChart.PlotArea.Format.Fill
        .Visible = True
        .ForeColor.SchemeColor = 41
        .BackColor.SchemeColor = 41
        .TwoColorGradient Style:=1, Variant:=2
    End With

Call SaveToPdf(objXlSheet)
    
End Sub

Open in new window

Sheet1.pdf
Sheet2.pdf
0
Is Your Active Directory as Secure as You Think?

More than 75% of all records are compromised because of the loss or theft of a privileged credential. Experts have been exploring Active Directory infrastructure to identify key threats and establish best practices for keeping data safe. Attend this month’s webinar to learn more.

 
LVL 46

Expert Comment

by:Martin Liss
ID: 40668052
I've requested that this question be deleted for the following reason:

The question has either no comments or not enough useful information to be called an "answer".
0
 

Author Comment

by:chtullu135
ID: 40668040
I played around with the code and the following code gives me the results I wanted.

Private Sub Create_LIFR_Weekly_YDT_Chart(objWS As Object)
    ' Comments:
    ' Params  : objWS
    ' Modified:
    
    On Error GoTo PROC_ERR
    
    Dim objXlSheet As Object
    Dim objXlChart As Object
    Dim objXlDataSheet As Object
    Dim objRng As Object
    Dim objRngChart1 As Object
    Dim objRngChart2 As Object
    Dim objSeries As Object
    Dim lngY As Long
    Dim objNewSeries As Object
    
    Set objXlSheet = objWS
    Dim objTextbox As Object
    
    Set objXlDataSheet = mobjXlBook.Worksheets("LIFR_Weekly_YTD")
    Set objRng = objXlDataSheet.Columns("A:A").Find("*", objXlDataSheet.[a1], -4163, , 1, 2)
    
    lngY = objXlDataSheet.usedRange.Rows.Count
    lngY = lngY + 10
    
    Set objXlChart = objXlSheet.ChartObjects.Add(Left:=75, Width:=750, Top:=lngY, Height:=600).Chart
    
    Set objTextbox = objXlChart.Shapes.AddTextbox(1, 1, 1, 100, 20)
    objTextbox.Select
    With objTextbox.TextEffect
        .Text = Format(Date, "mmm-dd-yyyy")
        .FontBold = True
    End With
    
    Set objTextbox = objXlChart.Shapes.AddTextbox(1, 600, 1, 150, 20)
    objTextbox.Select
    With objTextbox.TextEffect
        .Text = "WE " & Format(objRng.Value, "mmm-dd-yyyy")
        .FontSize = 14
        .FontBold = True
    End With
    
    With objXlChart
        .SetSourceData Source:=objXlDataSheet.Range("A:B")
        
        .ChartType = 51  '2D clustered columns
        
        .HasTitle = True
        .ChartTitle.Text = "LIFR Weekly YTD " & Year(Date)
        .HasLegend = True
        .Legend.Position = -4107
        .PlotBy = 2
        .Axes(1).MajorUnit = 7
        .Axes(1).ticklabels.Orientation = 60
        .Axes(1).ticklabels.NumberFormat = "mmm-dd"
        .SetSourceData Source:=objXlDataSheet.Range("A:C")
        .SetSourceData Source:=objXlDataSheet.Range("A:D")
        .SetSourceData Source:=objXlDataSheet.Range("A:E")
        
        Set objNewSeries = objXlChart.SeriesCollection(1)
        With objNewSeries
            .Name = "Total NEX Lines"
            .AxisGroup = 1
            '.ApplyDataLabels
            '.DataLabels.NumberFormat = "0"
        End With
        
        Set objNewSeries = objXlChart.SeriesCollection(2)
        With objNewSeries
            .Name = "NEX Lines Avail"
            .AxisGroup = 1
            '.ApplyDataLabels
            '.DataLabels.NumberFormat = "0"
        End With
        
        Set objNewSeries = objXlChart.SeriesCollection(3)
        With objNewSeries
            .Name = "Total Non-NEX Lines"
            .AxisGroup = 1
            '.ApplyDataLabels
            '.DataLabels.NumberFormat = "0"
        End With
        
        Set objNewSeries = objXlChart.SeriesCollection(4)
        With objNewSeries
            .Name = "Non-NEX Lines Avail"
            .AxisGroup = 1
            '.ApplyDataLabels
            '.DataLabels.NumberFormat = "0"
        End With
        
        Set objNewSeries = .SeriesCollection.NewSeries
        With objNewSeries
            .Name = "% NEX Lines Avail"
            '.Values = objXlDataSheet.Range("F:F")
            .Values = objXlDataSheet.Range(objXlDataSheet.Range("F2"), objXlDataSheet.Range("F" & objXlDataSheet.cells.Rows.Count).End(-4162))
            .AxisGroup = 2
            .ChartType = 65
            .Format.Line.Weight = 1
            .ApplyDataLabels
            .DataLabels.NumberFormat = "0.0%"
            .DataLabels.Position = 0
        End With
        
        Set objNewSeries = .SeriesCollection.NewSeries
        With objNewSeries
            .Name = "% Non-NEX Lines Avail"
            '.Values = objXlDataSheet.Range("G:G")
            .Values = objXlDataSheet.Range(objXlDataSheet.Range("G2"), objXlDataSheet.Range("G" & objXlDataSheet.cells.Rows.Count).End(-4162))
            .AxisGroup = 2
            .ChartType = 65
            .Format.Line.Weight = 1
            .ApplyDataLabels
            .DataLabels.NumberFormat = "0.0%"
            .DataLabels.Position = 1
        End With
        
    End With
    
    With objXlChart.Axes(2, 2)
        .MinimumScale = 0
        .MaximumScale = 1
    End With
    
    With objXlChart.ChartArea.Format.Fill
        .Visible = True
        .ForeColor.SchemeColor = 41
        .BackColor.SchemeColor = 41
        .TwoColorGradient Style:=1, Variant:=1
    End With
    
    With objXlChart.PlotArea.Format.Fill
        .Visible = True
        .ForeColor.SchemeColor = 41
        .BackColor.SchemeColor = 41
        .TwoColorGradient Style:=1, Variant:=2
    End With
    
    Call SaveToPdf(objXlSheet)
    
PROC_EXIT:
    Exit Sub
    
PROC_ERR:
    MsgBox Err.Number & vbTab & Err.Description, vbCritical, Me.Name & ".Create_NEX_LIFR_Weekly_YDT_Chart"
    Resume PROC_EXIT

Open in new window

0
 

Author Comment

by:chtullu135
ID: 40668053
I was able to get the code working correctly

Private Sub Create_LIFR_Weekly_YDT_Chart(objWS As Object)
    ' Comments:
    ' Params  : objWS
    ' Modified:
    
    On Error GoTo PROC_ERR
    
    Dim objXlSheet As Object
    Dim objXlChart As Object
    Dim objXlDataSheet As Object
    Dim objRng As Object
    Dim objRngChart1 As Object
    Dim objRngChart2 As Object
    Dim objSeries As Object
    Dim lngY As Long
    Dim objNewSeries As Object
    
    Set objXlSheet = objWS
    Dim objTextbox As Object
    
    Set objXlDataSheet = mobjXlBook.Worksheets("LIFR_Weekly_YTD")
    Set objRng = objXlDataSheet.Columns("A:A").Find("*", objXlDataSheet.[a1], -4163, , 1, 2)
    
    lngY = objXlDataSheet.usedRange.Rows.Count
    lngY = lngY + 10
    
    Set objXlChart = objXlSheet.ChartObjects.Add(Left:=75, Width:=750, Top:=lngY, Height:=600).Chart
    
    Set objTextbox = objXlChart.Shapes.AddTextbox(1, 1, 1, 100, 20)
    objTextbox.Select
    With objTextbox.TextEffect
        .Text = Format(Date, "mmm-dd-yyyy")
        .FontBold = True
    End With
    
    Set objTextbox = objXlChart.Shapes.AddTextbox(1, 600, 1, 150, 20)
    objTextbox.Select
    With objTextbox.TextEffect
        .Text = "WE " & Format(objRng.Value, "mmm-dd-yyyy")
        .FontSize = 14
        .FontBold = True
    End With
    
    With objXlChart
        .SetSourceData Source:=objXlDataSheet.Range("A:B")
        
        .ChartType = 51  '2D clustered columns
        
        .HasTitle = True
        .ChartTitle.Text = "LIFR Weekly YTD " & Year(Date)
        .HasLegend = True
        .Legend.Position = -4107
        .PlotBy = 2
        .Axes(1).MajorUnit = 7
        .Axes(1).ticklabels.Orientation = 60
        .Axes(1).ticklabels.NumberFormat = "mmm-dd"
        .SetSourceData Source:=objXlDataSheet.Range("A:C")
        .SetSourceData Source:=objXlDataSheet.Range("A:D")
        .SetSourceData Source:=objXlDataSheet.Range("A:E")
        
        Set objNewSeries = objXlChart.SeriesCollection(1)
        With objNewSeries
            .Name = "Total NEX Lines"
            .AxisGroup = 1
            '.ApplyDataLabels
            '.DataLabels.NumberFormat = "0"
        End With
        
        Set objNewSeries = objXlChart.SeriesCollection(2)
        With objNewSeries
            .Name = "NEX Lines Avail"
            .AxisGroup = 1
            '.ApplyDataLabels
            '.DataLabels.NumberFormat = "0"
        End With
        
        Set objNewSeries = objXlChart.SeriesCollection(3)
        With objNewSeries
            .Name = "Total Non-NEX Lines"
            .AxisGroup = 1
            '.ApplyDataLabels
            '.DataLabels.NumberFormat = "0"
        End With
        
        Set objNewSeries = objXlChart.SeriesCollection(4)
        With objNewSeries
            .Name = "Non-NEX Lines Avail"
            .AxisGroup = 1
            '.ApplyDataLabels
            '.DataLabels.NumberFormat = "0"
        End With
        
        Set objNewSeries = .SeriesCollection.NewSeries
        With objNewSeries
            .Name = "% NEX Lines Avail"
            '.Values = objXlDataSheet.Range("F:F")
            .Values = objXlDataSheet.Range(objXlDataSheet.Range("F2"), objXlDataSheet.Range("F" & objXlDataSheet.cells.Rows.Count).End(-4162))
            .AxisGroup = 2
            .ChartType = 65
            .Format.Line.Weight = 1
            .ApplyDataLabels
            .DataLabels.NumberFormat = "0.0%"
            .DataLabels.Position = 0
        End With
        
        Set objNewSeries = .SeriesCollection.NewSeries
        With objNewSeries
            .Name = "% Non-NEX Lines Avail"
            '.Values = objXlDataSheet.Range("G:G")
            .Values = objXlDataSheet.Range(objXlDataSheet.Range("G2"), objXlDataSheet.Range("G" & objXlDataSheet.cells.Rows.Count).End(-4162))
            .AxisGroup = 2
            .ChartType = 65
            .Format.Line.Weight = 1
            .ApplyDataLabels
            .DataLabels.NumberFormat = "0.0%"
            .DataLabels.Position = 1
        End With
        
    End With
    
    With objXlChart.Axes(2, 2)
        .MinimumScale = 0
        .MaximumScale = 1
    End With
    
    With objXlChart.ChartArea.Format.Fill
        .Visible = True
        .ForeColor.SchemeColor = 41
        .BackColor.SchemeColor = 41
        .TwoColorGradient Style:=1, Variant:=1
    End With
    
    With objXlChart.PlotArea.Format.Fill
        .Visible = True
        .ForeColor.SchemeColor = 41
        .BackColor.SchemeColor = 41
        .TwoColorGradient Style:=1, Variant:=2
    End With
    
    Call SaveToPdf(objXlSheet)
    
PROC_EXIT:
    Exit Sub
    
PROC_ERR:
    MsgBox Err.Number & vbTab & Err.Description, vbCritical, Me.Name & ".Create_NEX_LIFR_Weekly_YDT_Chart"
    Resume PROC_EXIT

Open in new window

0
 

Accepted Solution

by:
WhackAMod earned 0 total points
ID: 40681687
Closed, 500 points refunded.
WhackAMod
Community Support Moderator
0

Featured Post

Is Your Active Directory as Secure as You Think?

More than 75% of all records are compromised because of the loss or theft of a privileged credential. Experts have been exploring Active Directory infrastructure to identify key threats and establish best practices for keeping data safe. Attend this month’s webinar to learn more.

Question has a verified solution.

If you are experiencing a similar issue, please ask a related question

INDEX and MATCH can be used to great effect to replace HLOOKUP and VLOOKUP as it does not have the limitation of needing the data to be sorted so that the reference value is in the first column or row. It also has the ability to perform a bi-directi…
How to quickly and accurately populate Word documents with Excel data, charts and images (including Automated Bookmark generation) David Miller (dlmille) Synopsis In this article you’ll learn how to use ExcelToWord! to copy data,charts, shapes …
The viewer will learn how to create a normally distributed random variable in Excel, use a normal distribution to simulate the return on an investment over a period of years, Create a Monte Carlo simulation using a normal random variable, and calcul…
This Micro Tutorial will demonstrate how to create pivot charts out of a data set. I also added a drop-down menu which allows to choose from different categories in the data set and the chart will automatically update.

863 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

22 Experts available now in Live!

Get 1:1 Help Now