Excel çalışma sayfalarından PowerPoint'e tek veya tüm grafikler nasıl aktarılır?
Bazen, bir amaç için bir grafiği veya tüm grafikleri Excel'den PowerPoint'e aktarmanız gerekebilir. Bu makale nasıl başarılacağından bahsediyor.
Tek bir grafiği veya tüm grafikleri Excel çalışma sayfasından VBA kodu ile PowerPoint'e aktarın
Tek bir grafiği veya tüm grafikleri Excel çalışma sayfasından VBA kodu ile PowerPoint'e aktarın
Bu bölümde, tek bir grafiği veya tüm grafikleri çalışma kitabından PowerPoint'e aktarmak için VBA kodları tanıtılacaktır. Lütfen aşağıdaki işlemleri yapın.
1. Tuşuna basın. Ara Toplam + F11 tuşlarını birlikte açarak Uygulamalar için Microsoft Visual Basic pencere.
2. içinde Uygulamalar için Microsoft Visual Basic Pencere, tıklayın Tools > Referanslar aşağıda gösterilen ekran görüntüsü gibi.
3. içinde Referanslar - VBAProject iletişim kutusunu bulmak ve kontrol etmek için aşağı kaydırın. Microsoft PowerPoint Nesne Kitaplığı seçeneğini ve ardından OK buton. Ekran görüntüsüne bakın:
4. Sonra tıklayın Ekle > modül.
5. Tek bir grafiği PowerPoint'e aktarmak istiyorsanız, lütfen çalışma sayfasındaki grafiği seçin ve ardından Uygulamalar için Microsoft Visual Basic penceresinde, aşağıdaki VBA kodunu kopyalayıp Modül penceresine yapıştırın.
VBA kodu: Tek bir grafiği Excel çalışma sayfasından PowerPoint'e aktarın
Sub SingleActiveChartToPowerPoint_EarlyBinding1()
'Updated by Extendoffice 2017/9/15
Dim pptApp As PowerPoint.Application
Dim pptPres As PowerPoint.Presentation
Dim pptSlide As PowerPoint.Slide
Dim pptShape As PowerPoint.Shape
Dim pptShpRng As PowerPoint.ShapeRange
Dim xActiveSlideNow As Long
On Error Resume Next
If ActiveChart Is Nothing Then
MsgBox "Select a chart and try again!", vbExclamation, "KuTools For Excel"
Exit Sub
End If
Set pptApp = GetObject(, "PowerPoint.Application")
If pptApp Is Nothing Then
Set pptApp = CreateObject("PowerPoint.Application")
Set pptPres = pptApp.Presentations.Add
Set pptSlide = pptPres.Slides.Add(1, ppLayoutBlank)
Else
If pptApp.Presentations.Count > 0 Then
Set pptPres = pptApp.ActivePresentation
If pptPres.Slides.Count > 0 Then
xActiveSlideNow = pptApp.ActiveWindow.View.Slide.SlideIndex
Set pptSlide = pptPres.Slides(xActiveSlideNow)
Else
Set pptSlide = pptPres.Slides.Add(1, ppLayoutBlank)
End If
Else
Set pptPres = pptApp.Presentations.Add
Set pptSlide = pptPres.Slides.Add(1, ppLayoutBlank)
End If
End If
ActiveChart.ChartArea.Copy
With pptSlide
.Shapes.Paste
Set pptShape = .Shapes(.Shapes.Count)
Set pptShpRng = .Shapes.Range(pptShape.Name)
End With
With pptShpRng
.Align msoAlignCenters, True
.Align msoAlignMiddles, True
End With
pptShpRng.Select
End Sub
Çalışma kitabındaki tüm grafikleri dışa aktarmak istiyorsanız, lütfen aşağıdaki VBA kodunu Modül penceresine kopyalayıp yapıştırın.
VBA kodu: Excel çalışma sayfalarından tüm grafikleri PowerPoint'e aktarın
Option Explicit
'Updated by Extendoffice 2017/9/15
Dim pptApp As PowerPoint.Application
Dim pptPres As PowerPoint.Presentation
Dim pptSlide As PowerPoint.Slide
Dim pptSlideCount As Integer
Sub ChartsToPowerPoint()
Dim xSheet As Worksheet
Dim xChartsCount As Integer
Dim xChart As Object
Dim xActiveSlideNow As Integer
On Error Resume Next
For Each xSheet In ActiveWorkbook.Worksheets
xChartsCount = xChartsCount + xSheet.ChartObjects.Count
Next xSheet
If xChartsCount = 0 Then
MsgBox "Sorry, there are no charts to export!", vbCritical, "Ops"
Exit Sub
End If
Set pptApp = GetObject(, "PowerPoint.Application")
If pptApp Is Nothing Then
Set pptApp = CreateObject("PowerPoint.Application")
Set pptPres = pptApp.Presentations.Add
Set pptSlide = pptPres.Slides.Add(1, ppLayoutBlank)
Else
If pptApp.Presentations.Count > 0 Then
Set pptPres = pptApp.ActivePresentation
If pptPres.Slides.Count > 0 Then
xActiveSlideNow = pptApp.ActiveWindow.View.Slide.SlideIndex
Set pptSlide = pptPres.Slides(xActiveSlideNow)
Else
Set pptSlide = pptPres.Slides.Add(1, ppLayoutBlank)
End If
Else
Set pptPres = pptApp.Presentations.Add
Set pptSlide = pptPres.Slides.Add(1, ppLayoutBlank)
End If
End If
For Each xSheet In ActiveWorkbook.Worksheets
For Each xChart In xSheet.ChartObjects
Call pptFormat(xChart.Chart)
Next xChart
Next xSheet
For Each xChart In ActiveWorkbook.Charts
Call pptFormat(xChart)
Next xChart
Set pptSlide = Nothing
Set pptPres = Nothing
Set pptApp = Nothing
MsgBox "The charts were copied successfully to the new presentation!", vbInformation, "KuTools For Excel"
End Sub
Private Sub pptFormat(xChart As Chart)
Dim xCharTiTle As String
Dim I As Integer
On Error Resume Next
xCharTiTle = xChart.ChartTitle.Text
xChart.ChartArea.Copy
pptSlideCount = pptPres.Slides.Count
Set pptSlide = pptPres.Slides.Add(pptSlideCount + 1, ppLayoutBlank)
pptSlide.Select
pptSlide.Shapes.PasteSpecial ppPasteJPG
If xCharTiTle <> "" Then
pptSlide.Shapes.AddTextbox msoTextOrientationHorizontal, 12.5, 20, 694.75, 55.25
End If
For I = 1 To pptSlide.Shapes.Count
With pptSlide.Shapes(I)
Select Case .Type
Case msoPicture:
.Top = 87.84976
.left = 33.98417
.Height = 422.7964
.Width = 646.5262
Case msoTextBox:
With .TextFrame.TextRange
.ParagraphFormat.Alignment = ppAlignCenter
.Text = xCharTiTle
.Font.Name = "Tahoma (Headings)"
.Font.Size = 28
.Font.Bold = msoTrue
End With
End Select
End With
Next I
End Sub
6. Tuşuna basın. F5 kodunu çalıştırmak için tuşuna veya Çalıştır düğmesine tıklayın. Ardından, seçilen grafik veya içe aktarılan tüm grafikler ile yeni bir PowerPoint açılacaktır. Ve alacaksın Kutools for Excel aşağıda gösterilen ekran görüntüsü gibi iletişim kutusu, lütfen tıklayın OK düğmesine basın.
İlgili yazılar:
- Excel'de ayrı csv veya metin dosyalarına nasıl birden çok / tüm sayfa kaydedilir, dışa aktarılır?
- Seçimi veya tüm çalışma kitabını Excel'de PDF olarak nasıl kaydedebilirim?
En İyi Ofis Üretkenlik Araçları
Kutools for Excel ile Excel Becerilerinizi Güçlendirin ve Daha Önce Hiç Olmadığı Gibi Verimliliği Deneyimleyin. Kutools for Excel, Üretkenliği Artırmak ve Zamandan Tasarruf Etmek için 300'den Fazla Gelişmiş Özellik Sunar. En Çok İhtiyacınız Olan Özelliği Almak İçin Buraya Tıklayın...
Office Tab, Office'e Sekmeli Arayüz Getirir ve İşinizi Çok Daha Kolay Hale Getirir
- Word, Excel, PowerPoint'te sekmeli düzenlemeyi ve okumayı etkinleştirin, Publisher, Access, Visio ve Project.
- Yeni pencereler yerine aynı pencerenin yeni sekmelerinde birden çok belge açın ve oluşturun.
- Üretkenliğinizi% 50 artırır ve her gün sizin için yüzlerce fare tıklamasını azaltır!