У мене є діаграма, яка змінює введення даних після запуску коду.
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