Снимки листов Excel для PowerPoint (Microsoft Excel)
У Ребекки Берч есть клиенты, которые требуют, чтобы все отчеты представлялись им в PowerPoint. Это представляет собой огромную задачу, поскольку все исходные данные для этих отчетов доступны только в Excel. Ребекка искала идеи, чтобы немного облегчить бремя преобразования из одного в другой — возможно, сделав «снимки» данных рабочего листа и поместив их в слайды PowerPoint.
Одно из решений, если требуется не так много снимков, — просто выполнить вставку вручную. Вы можете отобразить информацию в Excel, а затем нажать клавишу PrintScreen, чтобы поместить ее изображение в буфер обмена Office. Переключитесь на PowerPoint и выберите «Буфер обмена Office» в меню «Правка». Затем вы можете увидеть содержимое буфера обмена и выбрать, что вы хотите вставить в текущий слайд.
Менее повторяющийся подход — связать данные из книги Excel со слайдами. Вы можете использовать Edit | Специальная вставка (в PowerPoint) для вставки связанных данных. Таким образом, каждый раз, когда данные в книге обновляются, связанные слайды также будут обновлены. Если все сделано правильно, возможно, вам придется выполнить вставку только один раз.
Если вы предпочитаете идти по пути разработки макроса для вставки, ознакомьтесь с макросом, разработанным Джоном Пелтье на его веб-сайте:
http://peltiertech.com/Excel/XL_PPT.html#rangeppt
Он сделает снимок выбранных ячеек, а затем вставит их в активный слайд в PowerPoint. (Очевидно, чтобы использовать макрос, у вас должны быть открыты и Excel, и PowerPoint.)
Кроме того, макрос можно было относительно легко изменить, чтобы он прошел через серию именованных диапазонов в Excel и вставил содержимое этих диапазонов в указанные слайды в PowerPoint.
Еще одно решение на основе макросов — создать новую презентацию PowerPoint (из Excel), которая будет содержать моментальный снимок каждого из листов в текущей книге Excel. Следующий макрос выполняет эту задачу:
Sub CopyWksToPPT() Dim pptApp As Object Dim sTemplatePPt As String Dim wks As Worksheet Dim sTargetTop As Single Dim sTargetLeft As Single Dim sTargetWidth As Single Dim sTargetHeight As Single Dim sScaleHeight As Single Dim sScaleWidth As Single Dim iIndex As Integer 'Change these as desired sTargetTop = 30 sTargetLeft = 60 sTargetWidth = 600 sTargetHeight = 450 sTemplatePPt = "C:\Program Files\Microsoft Office\Templates\Blank Presentation.pot" iIndex = 1 Set pptApp = CreateObject("Powerpoint.Application") With pptApp .Visible = True .Presentations.Open _ FileName:=sTemplatePPt, Untitled:=msoTrue For Each wks In Worksheets wks.Select .ActiveWindow.View.GotoSlide _ Index:=.ActivePresentation.Slides.Add _ (Index:=iIndex, Layout:=12).SlideIndex iIndex = iIndex + 1 wks.UsedRange.Copy .ActiveWindow.View.Paste With .ActiveWindow.Selection.ShapeRange sScaleHeight = sTargetHeight / .Height sScaleWidth = sTargetWidth / .Width If sScaleHeight < sScaleWidth Then sScaleWidth = sScaleHeight Else sScaleHeight = sScaleWidth End If .ScaleHeight sScaleHeight, 0, 2 .ScaleWidth sScaleWidth, 0, 2 .Top = sTargetTop + (sTargetHeight - .Height) / 2 .Left = sTargetLeft + (sTargetWidth - .Width) / 2 End With Next .Visible = True End With End Sub
Обратите внимание на область с надписью «Измените их по желанию». Он содержит спецификации того, где будет вставлен снимок на каждом слайде PowerPoint, а также его высоту и ширину. В переменную sTemplatePPt также включен полный путь к шаблону, который следует использовать для новой презентации PowerPoint.
_Примечание: _
Если вы хотите узнать, как использовать макросы, описанные на этой странице (или на любой другой странице на сайтах ExcelTips), я подготовил специальную страницу, содержащую полезную информацию.
link: / excelribbon-ExcelTipsMacros [Щелкните здесь, чтобы открыть эту специальную страницу в новой вкладке браузера]
.
ExcelTips — ваш источник экономичного обучения Microsoft Excel.
Этот совет (2378) применим к Microsoft Excel 97, 2000, 2002 и 2003.