Excel çalışma sayfalarından tek bir grafiği veya tüm grafikleri PowerPoint'e nasıl aktarabilirsiniz?
Bazen, belirli bir amaç için Excel'den bir grafiği veya tüm grafikleri PowerPoint'e aktarmanız gerekebilir. Bu makalede bunun nasıl yapılacağı anlatılmaktadır.
Tek bir grafiği veya Excel çalışma sayfasındaki tüm grafikleri VBA kodu ile PowerPoint'e aktarma
Tek bir grafiği veya Excel çalışma sayfasındaki tüm grafikleri VBA kodu ile PowerPoint'e aktarma
Bu bölüm, tek bir grafiği veya tüm grafikleri çalışma kitabından PowerPoint'e aktarmak için VBA kodlarını tanıtmaktadır. Lütfen aşağıdaki adımları izleyin.
1. Microsoft Visual Basic for Applications penceresini açmak için Alt + F11 tuşlarına birlikte basın.
2. Microsoft Visual Basic for Applications penceresinde, aşağıdaki ekran görüntüsünde gösterildiği gibi Araçlar > Referanslar'a tıklayın.
3. Referanslar – VBAProject iletişim kutusunda aşağı kaydırarak Microsoft PowerPoint Nesne Kitaplığı seçeneğini bulun ve işaretleyin, ardından Tamam düğmesine tıklayın. Ekran görüntüsüne bakın:
4. Ardından Ekle > Modül'e tıklayın.
5. Tek bir grafiği PowerPoint'e aktarmak istiyorsanız, lütfen çalışma sayfasında grafiği seçin, ardından Microsoft Visual Basic for Applications penceresine geri dönün, aşağıdaki VBA kodunu kopyalayıp Modül penceresine yapıştırın.
VBA Kodu: Excel Çalışma Sayfasından Tek Bir Grafiği PowerPoint'e Aktarma
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 aktarmak istiyorsanız, lütfen aşağıdaki VBA kodunu kopyalayıp Modül penceresine yapıştırın.
VBA Kodu: Excel Çalışma Sayfalarından Tüm Grafikleri PowerPoint'e Aktarma
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. Kodu çalıştırmak için F5 tuşuna basın veya Çalıştır düğmesine tıklayın. Ardından, seçilen grafik veya tüm grafikler içe aktarılmış olarak yeni bir PowerPoint açılacaktır. Aşağıdaki ekran görüntüsünde gösterildiği gibi bir Kutools for Excel iletişim kutusu alacaksınız, lütfen Tamam düğmesine tıklayın.

Kutools AI ile Excel Sihirini Keşfedin
- Akıllı Yürütme: Hücre işlemleri gerçekleştirin, verileri analiz edin ve grafikler oluşturun—tümü basit komutlarla sürülür.
- Özel Formüller: İş akışlarınızı hızlandırmak için özel formüller oluşturun.
- VBA Kodlama: VBA kodunu kolayca yazın ve uygulayın.
- Formül Yorumlama: Karmaşık formülleri kolayca anlayın.
- Metin Çevirisi: Elektronik tablolarınız içindeki dil engellerini aşın.
İlgili makaleler:
- Excel'de birden fazla/tüm sayfayı ayrı csv veya metin dosyaları olarak nasıl kaydedersiniz/dışa aktarırsınız?
- Excel'de seçimi veya tüm çalışma kitabını PDF olarak nasıl kaydedersiniz?
En İyi Ofis Verimlilik Araçları
Kutools for Excel ile Excel becerilerinizi geliştirin ve daha önce hiç olmadığı kadar verimli olun. Kutools for Excel, üretkenliğinizi artırmak ve zamanınızı kaydetmek için300'den fazla gelişmiş özellik sunar. En çok ihtiyacınız olan özelliği almak için buraya tıklayın...
Office Tab, Office'e sekmeli arayüz getirir ve işinizi çok daha kolaylaştırır
- Word, Excel, PowerPoint'te sekmeli düzenleme ve okuma özelliğini etkinleştirin.
- Aynı pencerenin yeni sekmelerinde birden fazla belge açın ve oluşturun, yeni pencerelerde değil.
- Verimliliğinizi %50 artırır ve her gün yüzlerce fare tıklamasını azaltır!