Grafico di Excel: input delle modifiche dopo l'esecuzione del codice VBA


1

Ho un grafico che modifica gli input dopo aver eseguito il mio codice.

Sub copy_values_for_chart()
    With Worksheets("Working")
        'clear chart consolidated data
        LastRow = FindLastRow("Working")
        .Range("Y4:AE" & LastRow).Clear

        LastRow = FindLastRow("Working")

        'copy Eolus T-1 data
        .Range("Q4:W4").Copy
        .Range("Y4").PasteSpecial Paste:=xlPasteValuesAndNumberFormats
        '.Range("Q3").Value = "Date"

        'calculate worst case P&L into col O
        For Line = 4 To LastRow
            If Range("O" & Line - 1).Value <> "" Then
                Range("o" & Line).Value = Application.WorksheetFunction.Min(Range("J" & Line & ":" & "N" & Line))
            End If
        Next Line

        'append rage data
        .Range("I4:O" & LastRow).Copy
        .Range("Y5").PasteSpecial Paste:=xlPasteValuesAndNumberFormats

        'append copy of static data
        .Range("A4 : G" & LastRow).Copy
        LastRow = FindLastRow("Working")
        .Range("Y" & LastRow + 1).PasteSpecial Paste:=xlPasteValuesAndNumberFormats


        'sort consolidated data by date asc
        LastRow = FindLastRow("Working")
        .Range("Y3:AE" & LastRow).Sort key1:=Worksheets("Working").Range("Y3"), order1:=xlDescending, Header:=xlYes

        'Application.CutCopyMode = False


    End With

    'update chart range data
    Set DataRange = Worksheets("Working").Range("Y3 : AE" & LastRow) 'Change last row to number to include. 

    Worksheets("sheet1").ChartObjects("Chart 1").Chart.SetSourceData Source:=DataRange

End Sub

Prima di correre, ho 6 colonne sul lato sinistro e i dati sulla destra.

inserisci qui la descrizione dell'immagine

Dopo aver eseguito il mio codice ottengo 7 colonne sulla sinistra inclusa la data.
E dove la vecchia data era in un formato casuale sulla destra.

inserisci qui la descrizione dell'immagine

Qualcuno può aiutarmi a mantenere il modo in cui dovrebbe essere dopo l'esecuzione del mio codice?


Che gamma usi? Hai provato a inserire il valore direttamente, ad es. Fonte: = Fogli ("Nome foglio"). Intervallo ("A1: F20")? Potrebbe essere che "DataRange" contenga 7 anziché 6 colonne. Potrebbe essere utile anche avere un grafico di esempio e il foglio dati. Come hai creato il grafico prima di utilizzare il codice VBA?
Albin,

Ciao Albin. Ho modificato la mia domanda con la parte del mio codice che definisce l'intervallo del grafico. Sembra che l'intervallo sia corretto, voglio Y su AE. Credo di aver copiato un grafico esistente per creare il grafico, quindi ho appena aggiornato l'intervallo e altre cose.
eccellere il

Se pubblichi solo una parte del tuo codice, sarà difficile trovare il problema all'interno del codice. Dovresti pubblicare il codice completo e il foglio con i dati e il modo in cui prevedi che il codice si comporti. Quindi sarà possibile individuare il problema altrimenti il ​​problema può essere sempre all'interno della parte del codice che non si pubblica.
Albin,

Pubblicazione del codice completo ora.
excelguy
Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.