Ниже приведен код, который я написал. Я пытаюсь создать построенную модель Excel для создания точки электропитания из существующего шаблона PowerPoint. В настоящее время я просто пытаюсь убедиться, что он может пройти один раз и заполнить необходимую информацию, но в конечном итоге я захочу, чтобы он зациклился и создал более длинную PowerPoint при наличии нескольких входов. Прежде чем добавить это, мне нужно, чтобы этот код работал. Когда я шагаю по коду, нажимаю F8, если работает отлично и работает как надо. Однако когда я нажимаю «Выполнить», он пропускает разделы и публикует информацию из файла Excel в неправильных местах. Есть ли способ заставить его работать более эффективно, чтобы он больше не пропускал, и чтобы позже я смог запустить более сложный код?
Спасибо!
Public Sub DevOppDeck()
Set ppApp = GetObject(, "Powerpoint.Application")
Set ppPres = ppApp.ActivePresentation
'Pick your DMA
userInput = InputBox("Please type in a DMA ID", "Create a Development Opportunity Deck")
Worksheets(2).Range("b4") = userInput
Dim DMAName As Variant
Set findName = Worksheets("vlookups").Range("AD2:AG211")
DMAName = Application.WorksheetFunction.VLookup(userInput, findName, 4, False)
'Rename Deck
slidenum = 1
Set ppslide = ppPres.Slides(slidenum)
ppslide.Select
ppslide.Shapes("PPT_Title").TextFrame.TextRange.Text = DMAName & Space(1) & "Development Opportunity"
ppslide.Shapes("PPT_Date").TextFrame.TextRange.Text = "January 1900"
'Change data for DMA proposal tables
slidenum = 4
Set ppslide = ppPres.Slides(slidenum)
ppslide.Select
'Competitor benchmark table
Set compBench = ppslide.Shapes("Comp_Benchmark")
Worksheets(2).Range("E7:I16").Copy
compBench.Table.Cell(2, 2).Shape.Select
ppApp.CommandBars.ExecuteMso ("PasteExcelTableDestinationTableStyle")
'Market demographics table
Set marketDem = ppslide.Shapes("Market_Dem")
Worksheets(2).Range("L7:M12").Copy
marketDem.Table.Cell(2, 2).Shape.Select
ppApp.CommandBars.ExecuteMso ("PasteExcelTableDestinationTableStyle")
'Market statistics table
Set marketStats = ppslide.Shapes("Market_Stats")
Worksheets(2).Range("P7:Q12").Copy
marketStats.Table.Cell(2, 2).Shape.Select
ppApp.CommandBars.ExecuteMso ("PasteExcelTableDestinationTableStyle")
'Change data for Opportunity Summary
slidenum = 5
Set ppslide = ppPres.Slides(slidenum)
ppslide.Select
'Competitor benchmark table
Set compOpps = ppslide.Shapes("Competitor_Opps")
Worksheets(2).Range("G20:G22").Copy
compOpps.Table.Cell(2, 5).Shape.Select
ppApp.CommandBars.ExecuteMso ("PasteExcelTableDestinationTableStyle")
Worksheets(2).Range("H20").Copy
compOpps.Table.Cell(5, 5).Shape.Select
ppApp.CommandBars.ExecuteMso ("PasteExcelTableDestinationTableStyle")
'Seed opportunities table
Set seedOpps = ppslide.Shapes("Trade_Area_Seeds")
Worksheets(2).Range("I20").Copy
seedOpps.Table.Cell(2, 3).Shape.Select
ppApp.CommandBars.ExecuteMso ("PasteExcelTableDestinationTableStyle")
Worksheets(2).Range("I20").Copy
seedOpps.Table.Cell(5, 3).Shape.Select
ppApp.CommandBars.ExecuteMso ("PasteExcelTableDestinationTableStyle")
End Sub