Excel Chart - введення змін після запуску коду VBA


1

У мене є діаграма, яка змінює введення даних після запуску коду.

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

Перед тим, як бігати, у мене є 6 стовпців з лівого боку, а дані - праворуч.

введіть тут опис зображення

Після запуску коду я отримую 7 стовпців зліва, включаючи дату.
І там, де стара дата переходила у випадковий формат справа.

введіть тут опис зображення

Чи може хто-небудь допомогти мені зберегти так, як це має бути після запуску мого коду?


Який асортимент ви використовуєте? Ви намагалися ввести значення безпосередньо, наприклад, Джерело: = Таблиці ("Ім'я листа"). Діапазон ("А1: F20")? Можливо, що "DataRange" містить 7 замість 6 стовпців. Мати приклад діаграми та таблиці може також бути корисним. Як ви створили діаграму перед використанням коду VBA?
Альбін

Привіт Альбіне. Я відредагував своє запитання з частиною свого коду, яка визначає Діапазон діаграми. Схоже, діапазон правильний, я хочу Y до AE. Я вважаю, що я скопіював існуючу діаграму для створення діаграми, а потім просто оновив діапазон та деякі інші речі.
excelguy

Якщо ви опублікуєте лише частину коду, вам буде важко знайти проблему в коді. Ви повинні розмістити повний код, а також аркуш із даними та спосіб очікування поведінки коду. Тоді можна буде точно визначити проблему, інакше проблема завжди може бути в тій частині коду, яку ви не публікуєте.
Альбін

Опублікувати повний код зараз.
excelguy
Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.