скопируйте таблицу и таблицу с листа на слайд. 2

У меня есть два вопроса в этом коде. Этот код отлично работает, но при этом возникает следующая ошибка: Ошибка времени выполнения – 2147188160 (80048240) Формы (неизвестный член): Недействительный запрос. Буфер обмена пуст или содержит данные, которые не могут быть вставлены здесь. Он подходит к приведенному ниже коду Когда я пытаюсь вставить диапазон / таблицу.

pres.Slides(2).Shapes.Paste 

Второй вопрос: теперь диаграмма копируется в powerpoint второй предмет, который я хочу знать, нужно ли мне его позиционировать. В случае, если не было определенного слайда (слайд 2), где я хотел бы поместить диаграмму в верхний левый угол, а затем, как shud, я модифицирую приведенный ниже код: – preslide.Shapes.PasteSpecial (ppPasteHTML)

С preslide.Shapes (preslide.Shapes.Count)

.Top = 65 .Left = 72. Ширина = 700

 Sub latestppu() Dim pptapp As PowerPoint.Application Dim pres As PowerPoint.Presentation Dim preslide As PowerPoint.Slide Dim shapepp As PowerPoint.Shape Dim exappli As Excel.Application Dim exworkb As Workbook Dim rng As Range Dim myshape As Object Dim x As Integer x = 1 Dim mychart As ChartObject Dim activechart As ChartObject Dim R As Integer Dim G As Integer Dim B As Integer 'Open powerpoint application - Set exappli = New Excel.Application exappli.Visible = True 'activate powerpoint application Set pptapp = New PowerPoint.Application pptapp.Visible = True pptapp.Activate 'open the excel you wish to use Set exworkb = exappli.Workbooks.Open("C:\Users\as\Desktop\Macro\Reference Sheet.xlsm") 'open the presentation you wish to use Set pres = pptapp.Presentations.Open("C:\Users\as\Desktop\Macro\PPTtemplate.pptx") 'Add title to the first slide With pres.Slides(1) If Not .Shapes.HasTitle Then Set shapepp = .Shapes.AddTitle Else: Set shapepp = .Shapes.Title End If With shapepp .TextFrame.TextRange.Text = "Gulf+ Mark" & vbNewLine & "P5 Week FY17" .TextFrame.TextRange.Font.Name = "Arial Black" .TextFrame.TextRange.Font.Size = 24 .TextEffect.FontBold = msoTrue .TextFrame.TextRange.Paragraphs.ParagraphFormat.Alignment = ppAlignLeft End With End With 'Add title to second slide With pres.Slides(2) If Not .Shapes.HasTitle Then Set shapepp = .Shapes.AddTitle Else: Set shapepp = .Shapes.Title End If With shapepp .TextFrame.TextRange.Text = "Gulf+ Performance" .TextFrame.TextRange.Font.Name = "EY Gothic Cond Demi" .TextFrame.TextRange.Font.Size = 22 .TextFrame.TextRange.Paragraphs.ParagraphFormat.Alignment = ppAlignLeft .TextEffect.FontBold = msoFalse .TextFrame.TextRange.Font.Color.RGB = RGB(0, 0, 0) .TextEffect.Alignment = msoTextEffectAlignmentLeft End With End With 'add a textbox Set shapepp = pres.Slides(2).Shapes.AddTextbox(msoTextOrientationHorizontal, Left:=650, Top:=75, Width:=200, Height:=50) With shapepp .TextFrame.TextRange.Text = "Other Account Performance Metrics" .TextFrame.TextRange.Font.Name = "EY Gothic Cond Demi" .TextFrame.TextRange.Font.Size = 16 .TextFrame.TextRange.Paragraphs.ParagraphFormat.Alignment = ppAlignRight .TextEffect.FontBold = msoTrue .TextFrame.TextRange.Font.Color.RGB = RGB(0, 0, 0) End With 'Copy a table range from account summary worksheet and paste it in powerpoint slide 2:- 'defining the range Set rng = exworkb.Sheets("Account Performance").Range("A1:B5") 'Copy excel range rng.Copy 'paste to powerpoint slide 2 pres.Slides(2).Shapes.Paste pptapp.ActiveWindow.Selection.ShapeRange.Align msoAlignTops, msoTrue pptapp.ActiveWindow.Selection.ShapeRange.Top = -30 pptapp.ActiveWindow.Selection.ShapeRange.Left = 350 'add a textbox Set shapepp = pres.Slides(2).Shapes.AddTextbox(msoTextOrientationHorizontal, Left:=600, Top:=280, Width:=200, Height:=50) With shapepp .TextFrame.TextRange.Text = "GTER by global account segment" .TextFrame.TextRange.Font.Name = "EY Gothic Cond Demi" .TextFrame.TextRange.Font.Size = 16 .TextFrame.TextRange.Paragraphs.ParagraphFormat.Alignment = ppAlignRight .TextEffect.FontBold = msoTrue .TextFrame.TextRange.Font.Color.RGB = RGB(0, 0, 0) End With 'defining the second chart to be copied Set mychart = exworkb.Sheets("Account Performance").ChartObjects(1) mychart.Select mychart.Chart.ChartArea.Copy pres.Slides(2).Shapes.Paste pptapp.ActiveWindow.Selection.ShapeRange.Align msoAlignTops, msoTrue pptapp.ActiveWindow.Selection.ShapeRange.Top = 2000 pptapp.ActiveWindow.Selection.ShapeRange.Left = 350 End Sub 

Interesting Posts

Сортировка строк Excel по алфавиту в F # (Office.Interop)

VBA Vlookup дает N / A, но обычный Vlookup дает правильный результат

Чтение данных и запись в один файл excel

Найти / заменить строку в макросе файлов Excel

Найти соответствующие значения в строке и суммировать их (excel)

Цифровой код функций Excel

Преобразование чисел в время в Excel

Ошибка 1004 при умножении значений ячеек на основе критериев

Как удалить двойные кавычки из скопированного текста Microsoft Excel 2010 со специальным символом без использования Microsoft Forms 2.0 Lib, CLEAN, ect

Получить последний не пустой столбец и индекс строки из excel с помощью Interop

Динамический диапазон со скрытым именем рабочего листа

Сохранять местоположение адреса ячейки кнопки управления переменной в VBA

Преобразование времени unix в дату-время через excel

Как сообщить значение ячейки другой ячейке на excel

Не удалось открыть файл XLSX с помощью Apache POI: NoClassDefFoundError

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