Усовершенствование кода по переносу диаграмм - VBA

Узнай цену своей работы

Формулировка задачи:

Подскажите пожалуйста, есть хороший нижеуказанный код по переносу и формированию всех диаграмм с одного листа на другой, но у меня очень много листов в эксель файлах, подскажите пожалуйста как можно изменить код чтоб выводил на активный лист все диаграммы без предварительного изменения кода, проще говоря нажал на каком нибуть листе макрос и диаграммы бы перенеслись на этот лист и сформировались и ненужно было бы отслеживать место расположения диаграмм чтоб их перенести
Листинг программы
  1. Private Sub Test()
  2. Dim iChart As ChartObject, iSerie As Series
  3. Dim list1$, list2$: list1 = "Лист1": list2 = "Лист2"
  4. Application.ScreenUpdating = False
  5. For Each iChart In Worksheets(list1).ChartObjects
  6. For Each iSerie In iChart.Chart.SeriesCollection
  7. iSerie.Formula = Replace(iSerie.Formula, list1, list2)
  8. Next
  9. iChart.Chart.Location xlLocationAsObject, list2
  10. Next
  11. Application.ScreenUpdating = True
  12. End Sub

Решение задачи: «Усовершенствование кода по переносу диаграмм»

textual
Листинг программы
  1. Public Sub Test()
  2.     Dim iChart As ChartObject, iSerie As Series, Sh As Worksheet
  3.     Dim list1$, list2$
  4.    
  5.     list2$ = ActiveSheet.Name
  6.     Application.ScreenUpdating = False
  7.     For Each Sh In Worksheets
  8.         If Not ActiveSheet Is Sh Then
  9.             list1$ = Sh.Name
  10.             For Each iChart In Sh.ChartObjects
  11.                 For Each iSerie In iChart.Chart.SeriesCollection
  12.                     iSerie.Formula = Replace(iSerie.Formula, list1, list2)
  13.                 Next
  14.                 iChart.Chart.Location xlLocationAsObject, list2
  15.             Next
  16.         End If
  17.     Next
  18.     Application.ScreenUpdating = True
  19. End Sub

ИИ поможет Вам:


  • решить любую задачу по программированию
  • объяснить код
  • расставить комментарии в коде
  • и т.д
Попробуйте бесплатно

Оцени полезность:

5   голосов , оценка 3.4 из 5

Нужна аналогичная работа?

Оформи быстрый заказ и узнай стоимость

Бесплатно
Оформите заказ и авторы начнут откликаться уже через 10 минут
Похожие ответы