Итак, у меня есть рабочий макрос, который копирует строки Excel в виде изображений и вставляет каждое изображение в новый слайд PowerPoint.
Поэтому моя задача сейчас состоит в том, чтобы брать отдельные данные из точной ячейки (например, A1, D1, H1, X1) и вставьте его в предопределенный макет слайда PowerPoint.Таким образом, каждая ячейка перемещается в соответствующее место в макете слайда.Я думаю, что нужно немного модифицировать, но я понятия не имею, что делать.Я действительно совсем новичок в VBA, поэтому всяческая помощь приветствуется.
Спасибо за ваше время и хорошего дня!:)
Sub CopyRangeToPresentation()
'Variables
Dim PP As PowerPoint.Application
Dim PPpres As PowerPoint.Presentation
Dim PPslide As PowerPoint.Slide
Dim SlideTitle As String
Dim lRow As Long
Dim i As Integer
'Fider
lRow = Cells.Find(What:="*", _
After:=Range("A1"), _
LookAt:=xlPart, _
LookIn:=xlFormulas, _
SearchOrder:=xlByRows, _
SearchDirection:=xlPrevious, _
MatchCase:=False).Row
'New presentation
Set PP = New PowerPoint.Application
Set PPpres = PP.Presentations.Add
Set PP = GetObject(, "PowerPoint.Application")
PP.Visible = 1
For i = 1 To lRow
'New slide
Set PPslide = PPpres.Slides.Add(i, ppLayoutBlank)
PP.ActiveWindow.ViewType = ppViewSlide
PPpres.PageSetup.SlideSize = ppSlideSizeOnScreen
PP.ActiveWindow.WindowState = ppWindowMaximized
PPslide.Select
'Copy
Sheets("dataflows").Range(Cells(i, 1), Cells(i, 24)).CopyPicture _
Appearance:=xlScreen, Format:=xlPicture
'Paste
PPslide.Shapes.Paste.Select
PP.ActiveWindow.Selection.ShapeRange.Align msoAlignCenters, True
PP.ActiveWindow.Selection.ShapeRange.Align msoAlignMiddles, True
'Title
Next i
'Memory
PP.Activate
Set PPslide = Nothing
Set PPpres = Nothing
Set PP = Nothing
End Sub