Macro aggiungere linea tendenza



  • Macro aggiungere linea tendenza
    di Vento (utente non iscritto) data: 10/05/2014 18:56:20

    Ciao a tutti.
    Ho creato una macro per generare un grafico e aggiungere la linea di tendenza.
    Non capisco perché data una serie X, Y di dati, genera 2 linee di tendenza invece di una, sembra considerare la prima colonna da A5 a A10 (semplice numerazione righe) come parte dei dati, anche se non sono selezionati.
    Grazie a chi vorrà aiutarmi.
    Paolo
     
    Estratto della macro.
    
    Range("B5:C14").Select
        ActiveSheet.Shapes.AddChart.Select
        ActiveChart.SetSourceData Source:=Range("'Foglio1'!$B$5:$C$14")
        ActiveChart.ChartType = xlXYScatter
        ActiveChart.SeriesCollection(1).Select
        ActiveChart.SeriesCollection(1).Trendlines.Add
        ActiveChart.SeriesCollection(1).Trendlines(1).Select
        Selection.DisplayEquation = True
        Selection.DisplayRSquared = True



  • di lepat (utente non iscritto) data: 10/05/2014 19:13:05

    prova così
     
    Sub Macro1()
    Range("B5:C14").Select
        ActiveSheet.Shapes.AddChart.Select
        ActiveChart.ChartType = xlXYScatterSmoothNoMarkers
        ActiveChart.SetSourceData Source:=Range("'Foglio1'!$B$5:$C$14")
        ActiveChart.ChartType = xlXYScatter
        ActiveChart.SeriesCollection(1).Select
        ActiveChart.SeriesCollection(1).Trendlines.Add
        ActiveChart.SeriesCollection(1).Trendlines(1).Select
        Selection.DisplayEquation = True
    End Sub
    



  • di vento (utente non iscritto) data: 11/05/2014 15:06:34

    Grazie mille!!

    Ora ho un altro problema, non so se aprire un altro post.
    Vorrei utilizzare una macro per generare l'analisi di regressione, ho provato con la macro seguente, non mi segnala errori, ma non esegue nulla.
    Paolo
     
    Sub Macro3()
    '
    ' Macro3 Macro
    '
    Dim rngY As Range, rngX As Range, rngOut As Range
    Set rngY = ActiveSheet.Range("C5:C10", ActiveSheet.Range("C5").End(xlDown))
    Set rngX = ActiveSheet.Range("B5:B10", ActiveSheet.Range("F5").End(xlDown))
    Set rngOut = ActiveWorkbook.Sheets("Foglio2").Range("A1")
         Application.Run "ATPVBAEN.XLAM!Regress", rngY, rngX, False, False, , rngOut, False _
            , False, False, False, , False
    
    End Sub
    



  • di lepat (utente non iscritto) data: 11/05/2014 15:43:50

    non so di cosa parli, occorre un esempio



  • di vento (utente non iscritto) data: 11/05/2014 22:36:16

    Si tratta di utilizzare la funzione REGR.LIN che utilizza la funzione dei minimi quadrati, in output genera una matrice con i dati dell'interpolazione, e il grafico dei residui.