Экспорт вкладок Excel в слайды Powerpoint на основе значения ячейки - PullRequest
0 голосов
/ 28 ноября 2018

надеюсь, что вы можете помочь.

Пройдите новичка в VBA, и я искал и искал ответ на свой вопрос, но не могу найти то, что я ищу.

Что у меня естьэто рабочая тетрадь с многочисленными вкладками, которые содержат различные данные и описание.Мне нужен какой-то способ экспортировать эти листы (область просмотра печати) в отдельные слайды PowerPoint, только если ячейка «CI8» этих вкладок больше 0. Например, у меня есть вкладки с именем «RestWest», «RestCentre», «RestEast», «RestRS»."и если только ячейки RestWest и RestRS имеют ячейку CI8> 0, только эти два листа будут загружаться в Powerpoint.Лучше всего будет вставить изображение в виде рисунка.

Я смог сделать это для экспорта в PDF, но старшее руководство, как PowerPoint, лучше.

Надеюсь, вы поможете и дадите мне несколько советов.

Спасибо за ваше время

Должен был включить следующий код, так как он тянет один лист в PowerPoint, но необходимо включить критерии значения ячейки

Sub CopyRangeToPresentation()

    Dim pp As PowerPoint.Application
    Dim PPPres As PowerPoint.Presentation
    Dim PPSlide As PowerPoint.Slide
    Dim SlideTitle As String
    Set pp = New PowerPoint.Application
    Set PPPres = pp.Presentations.Add
    pp.Visible = True
    Set PPSlide = PPPres.Slides.Add(1, ppLayoutTitleOnly)
    PPSlide.Select
    Sheets("RestWest").Range("A1:CV77").CopyPicture _
    Appearance:=xlScreen, Format:=xlPicture
    PPSlide.Shapes.Paste.Select
    pp.ActiveWindow.Selection.ShapeRange.Align msoAlignCenters, True
    pp.ActiveWindow.Selection.ShapeRange.Align msoAlignMiddles, True
    SlideTitle = "My First PowerPoint Slide"
    PPSlide.Shapes.Title.TextFrame.TextRange.Text = SlideTitle
    pp.Activate
    Set PPSlide = Nothing
    Set PPPres = Nothing
    Set pp = Nothing
End Sub

1 Ответ

0 голосов
/ 28 ноября 2018

TheSpreadsheetGuru - копирование и вставка диапазона Excel в PowerPoint с VBA

Я тоже очень новичок, но посмотрите эту ссылку и, возможно, попробуйте что-то вроде:

For Each sht In Worksheets
With sht
    If .Range("CI8").Value2 > 0 Then
        .Range("Print_Area").Copy
        'use SpreadSheetGuru to show you how to insert new slide and paste
        ' ...
    End If
End With
Next
...