Как определить порядок диаграмм при экспорте из Excel в PowerPoint?

Я создал лист, на котором расположены все диаграммы, а затем я использовал макрос для экспорта диаграмм в PowerPoint.

Как определить порядок, в который диаграммы вставляются в презентацию? Я попытался назвать их Chart 1, Chart 2 и т. Д., Но это не сработало.

Вот макрокод:

'First we declare the variables we will be using Dim newPowerPoint As PowerPoint.Application Dim activeSlide As PowerPoint.Slide Dim cht As Excel.ChartObject 'Look for existing instance On Error Resume Next Set newPowerPoint = GetObject(, "PowerPoint.Application") On Error GoTo 0 'Let's create a new PowerPoint If newPowerPoint Is Nothing Then Set newPowerPoint = New PowerPoint.Application End If 'Make a presentation in PowerPoint If newPowerPoint.Presentations.Count = 0 Then newPowerPoint.Presentations.Add End If 'Show the PowerPoint newPowerPoint.Visible = True 'Loop through each chart in the Excel worksheet and paste them into the PowerPoint For Each cht In ActiveSheet.ChartObjects 'Add a new slide where we will paste the chart newPowerPoint.ActivePresentation.Slides._ Add newPowerPoint.ActivePresentation.Slides.Count + 1, ppLayoutText newPowerPoint.ActiveWindow.View._ GotoSlide newPowerPoint.ActivePresentation.Slides.Count Set activeSlide = newPowerPoint.ActivePresentation._ Slides(newPowerPoint.ActivePresentation.Slides.Count) 'Copy the chart and paste it into the PowerPoint as a Metafile Picture ActiveSheet.Unprotect "password" cht.Select ActiveChart.ChartArea.Copy activeSlide.Shapes.PasteSpecial(DataType:=ppPasteMetafilePicture).Select ActiveSheet.Protect "password" 'Set the title of the slide the same as the title of the chart 'activeSlide.Shapes(1).TextFrame.TextRange.Text = cht.Chart.ChartTitle.Text 'Adjust the positioning of the Chart on Powerpoint Slide newPowerPoint.ActiveWindow.Selection.ShapeRange.Left = 1 newPowerPoint.ActiveWindow.Selection.ShapeRange.Top = 1 'activeSlide.Shapes(2).Width = 200 'activeSlide.Shapes(2).Left = 505 Next AppActivate ("Microsoft PowerPoint") Set activeSlide = Nothing Set newPowerPoint = Nothing 

Если вы назовете графики Chart1, Chart2 и т. Д., Вам просто нужно настроить свой цикл, чтобы сделать диаграммы в том порядке, который вы им назвали.

Объявите iCht как Long, затем измените цикл на:

For iCht = 1 To ActiveSheet.ChartObjects.Count Set cht = ActiveSheet.ChartObjects("Chart" & CStr(iCht))

Я думаю, что остальная часть вашего кода стоит.

  • Создание диаграмм с использованием VBA и подпрограмм
  • График Excel 2003: Слишком сложный набор данных диаграммы
  • Как проверить, есть ли таблица на листе excel
  • VBA Excel 2010 - Левая часть диаграммы захвата
  • Excel для создания линейной диаграммы, исключая столбцы между
  • установить объект на текущий выбранный график в excel
  • Инкапсулирование общего кода vba в отдельной книге
  • Excel - макрос для создания диаграммы на основе выбора
  • Экземпляр Excel.Application со встроенными диаграммами
  • Диаграмма данных для отображения времени дня в Excel
  • Изменение цвета точки в графике Excel VBA
  • Interesting Posts

    PivotItem изменен на Visible = True, но сводная таблица не обновляется соответственно

    MATLAB, конвертировать 4049 строк x 50 столбцов данных спектрографа в 3D-график

    быстрое генерирование Excel

    Запрос VBA POST, отправляющий данные о множественной форме с загрузкой файла

    Как создать подсписку из списка

    Укажите путь к файлу в строке формулы в POI

    Как написать таблицу из R в Excel

    Исключение .NET / COM с помощью IRTDUpdateEvent

    Можете ли вы сказать Excel не пересчитывать ячейку, содержимое которой основано на COM-компоненте?

    Excel – запрос MDX для куба SSAS с значениями ячеек в качестве параметров

    Код VBA работает только корректно в debug.mode

    Формула Excel с двойной цитатой с C #

    Как динамически выбирать определенные ячейки на основе других ячеек в одной строке

    Получение предыдущих ячеек заданного диапазона данных

    Как получить массив значений vlookup без дополнительного столбца в Microsoft Excel?

    Давайте будем гением компьютера.