Note: The other languages of the website are Google-translated. Back to English
English English

Come esportare uno o tutti i grafici da fogli di lavoro Excel a PowerPoint?

A volte, potrebbe essere necessario esportare un grafico o tutti i grafici da Excel a PowerPoint per qualche scopo. Questo articolo parla di come ottenerlo.

Esporta un singolo grafico o tutti i grafici dal foglio di lavoro Excel a PowerPoint con codice VBA


Esporta un singolo grafico o tutti i grafici dal foglio di lavoro Excel a PowerPoint con codice VBA


Questa sezione introdurrà i codici VBA per esportare un singolo grafico o tutti i grafici dalla cartella di lavoro a PowerPoint. Si prega di fare quanto segue.

1. premi il altro + F11 chiavi insieme per aprire il Microsoft Visual Basic, Applications Edition finestra.

2. Nel Microsoft Visual Basic, Applications Edition finestra, fare clic Strumenti > Referenze come mostrato nell'immagine sottostante.

3. Nel Riferimenti - VBAProject finestra di dialogo, scorrere verso il basso per trovare e selezionare il file Libreria di oggetti di Microsoft PowerPoint opzione, quindi fare clic su OK pulsante. Vedi screenshot:

4. Quindi fare clic inserire > Modulo.

5. Se si desidera esportare un singolo grafico in PowerPoint, selezionare il grafico nel foglio di lavoro, quindi tornare al file Microsoft Visual Basic, Applications Edition finestra, copia e incolla il codice VBA sottostante nella finestra del modulo.

Codice VBA: esporta un singolo grafico dal foglio di lavoro Excel a PowerPoint

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

Se desideri esportare tutti i grafici dalla cartella di lavoro, copia e incolla il codice VBA seguente nella finestra del modulo.

Codice VBA: esporta tutti i grafici dai fogli di lavoro Excel a PowerPoint

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. premi il F5 o fare clic sul pulsante Esegui per eseguire il codice. Quindi verrà aperto un nuovo PowerPoint con il grafico selezionato o tutti i grafici importati. E otterrai un file Kutools for Excel finestra di dialogo come mostrato nell'immagine sottostante, fare clic su OK pulsante.


Articoli correlati:


I migliori strumenti per la produttività in ufficio

Kutools per Excel risolve la maggior parte dei tuoi problemi e aumenta la tua produttività dell'80%

  • Riutilizzo: Inserisci rapidamente formule complesse, grafici e tutto ciò che hai usato prima; Crittografa celle con password; Crea mailing list e invia email ...
  • Bar Super Formula (modifica facilmente più righe di testo e formula); Layout di lettura (leggi e modifica facilmente un gran numero di celle); Incolla su intervallo filtrato...
  • Unisci celle / righe / colonne senza perdere dati; Contenuto delle celle divise; Combina righe / colonne duplicate... Impedisci celle duplicate; Confronta intervalli...
  • Seleziona Duplica o Unico Righe; Seleziona Righe vuote (tutte le celle sono vuote); Super Find e Fuzzy Find in molte cartelle di lavoro; Selezione casuale ...
  • Copia esatta Più celle senza modificare il riferimento della formula; Riferimenti di creazione automatica a più fogli; Inserisci punti elenco, Caselle di controllo e altro ...
  • Estrai testo, Aggiungi testo, Rimuovi per posizione, Rimuovi spazio; Creare e stampare totali parziali di paging; Converti contenuto e commenti tra celle...
  • Super filtro (salva e applica schemi di filtri ad altri fogli); Ordinamento avanzato per mese / settimana / giorno, frequenza e altro; Filtro speciale in grassetto, corsivo ...
  • Combina cartelle di lavoro e fogli di lavoro; Unisci tabelle in base a colonne chiave; Suddividi i dati in più fogli; Conversione in batch xls, xlsx e PDF...
  • Più di 300 potenti funzionalità. Supporta Office / Excel 2007-2019 e 365. Supporta tutte le lingue. Facile distribuzione nella tua azienda o organizzazione. Funzionalità complete Prova gratuita di 30 giorni. Garanzia di rimborso di 60 giorni.
scheda kte 201905

Scheda Office porta l'interfaccia a schede a Office e semplifica notevolmente il lavoro

  • Abilita la modifica e la lettura a schede in Word, Excel, PowerPoint, Publisher, Access, Visio e Project.
  • Apri e crea più documenti in nuove schede della stessa finestra, piuttosto che in nuove finestre.
  • Aumenta la produttività del 50% e riduce centinaia di clic del mouse ogni giorno!
fondo officetab
Commenti (7)
Ancora nessuna valutazione. Puoi essere il primo a votare!
Questo commento è stato fatto dal moderatore sul sito
Grazie, il tuo codice ha funzionato perfettamente per quello che dovevo fare. Aggiungerò la tua pagina ai preferiti e tornerò quando ne avrò bisogno di più.
Questo commento è stato fatto dal moderatore sul sito
Ciao, grazie per il codice.

Ho provato ad aggiornare il tuo codice con alcune piccole modifiche ma non so come posso farlo, ho bisogno di aggiornare/cambiare qualche forma su una diapositiva specifica, ma non so come posso farlo.?
Questo commento è stato fatto dal moderatore sul sito
Ciao Antoni,
Mi dispiace non poterti aiutare con quello ancora. Grazie per il tuo commento.
Questo commento è stato fatto dal moderatore sul sito
Ciao,
Come posso avere alcune cose in PDF?

Grazie !
Questo commento è stato fatto dal moderatore sul sito
Ciao,

Ho provato a eseguire il tuo codice, ma anche se mi lancia questo messaggio non apre alcun powerpoint, senza generare alcun errore.
I grafici devono essere in un foglio unico, o non c'è problema se sono in un foglio tutti insieme?

Grazie.
Questo commento è stato fatto dal moderatore sul sito
Ciao Andreas,
Puoi esportare un singolo grafico selezionandolo ed eseguendo il primo codice.
Oppure esporta tutti i grafici nella cartella di lavoro con il secondo codice.
Grazie per il tuo commento.
Questo commento è stato fatto dal moderatore sul sito
Ciao, il tuo codice è molto simile a quello che ho fatto, ma ho una domanda, come posso incollare la grafica ma posso modificare i dati nel file power point?
Non ci sono ancora commenti pubblicati qui
Lasciate i vostri commenti
Pubblicazione come ospite
×
Valuta questo post:
0   Personaggi
Posizioni suggerite