Come copiare automaticamente da Excel a PowerPoint utilizzando una macro VBA

Se hai mai desiderato accelerare il trasferimento dei dati da una cartella di lavoro di Microsoft Excel alla presentazione di Microsoft PowerPoint, l'utilizzo di una macro e Visual Basic for Applications è la strada da percorrere. VBA è un linguaggio di programmazione per computer utilizzato nelle applicazioni di Microsoft Office per automatizzare processi come la copia di dati da Excel. Una macro ti consente di salvare una serie di istruzioni che puoi eseguire più e più volte con un clic di un pulsante.

Passo 1

Avvia Excel, digita "Alan" in "A1", "Daniel" in "A2", "Kitzia" in "A3", "Oscar" in "A4" e "Yarexli" in "A5". Premi "CTRL" e "S" per salvare la cartella di lavoro in "C:\" come "ExcelFile.xlsx". Chiudi Excel.

Passo 2

Avvia PowerPoint, fai clic sulla scheda "Sviluppatore" e fai clic su "Macro" per avviare la finestra di dialogo Macro. Digita "copyFromExcel" sotto il nome della macro e fai clic sul pulsante "Crea". Fare clic sul menu "Strumenti" e fare clic su "Riferimenti" per avviare la finestra di dialogo Riferimenti. Scorri verso il basso e seleziona la casella accanto a "Microsoft Excel Libreria oggetti" e fare clic su "OK".

Passaggio 3

Copia e incolla quanto segue per creare le variabili che utilizzerai per copiare i dati da Excel:

Dim sourceXL As Excel.Application

Dim sourceBook As Excel.Workbook Dim sourceSheet As Excel.Worksheet Dim dataReadArray(10) As String Dim myPress As Presentation Dim newSlide As Slide 

Passaggio 4

Imposta i valori sulle variabili oggetto:

Imposta sourceXL = Excel.Application Imposta sourceBook = sourceXL.Workbooks.Open("G:\ExcelFile.xlsx") Imposta sourceSheet = sourceBook.Sheets(1) Imposta myPres = ActivePresentation Imposta newSlide = myPres.Slides.Add(Index:=myPres .Slides.Count + 1, Layout:=ppLayoutText) 

Passaggio 5

Leggi i dati nel file Excel e memorizzali in un array di stringhe:

sourceSheet.Range("A1").Select dataReadArray(0) = sourceSheet.Range("A1").Value sourceSheet.Range("A2").Select dataReadArray(1) = sourceSheet.Range("A2").Value sourceSheet.Range("A3").Select dataReadArray(2) = sourceSheet.Range("A3").Value sourceSheet.Range("A4").Select dataReadArray(3) = sourceSheet.Range("A4").Value sourceSheet.Range("A5").Select dataReadArray(4) = sourceSheet.Range("A5").Value 

Passaggio 6

Aggiungi i dati dall'array String a una nuova diapositiva nella presentazione corrente:

newSlide.Shapes(1).TextFrame.TextRange = "Dati copiati da Excel" newSlide.Shapes(2).TextFrame.TextRange = dataReadArray(0) & vbNewLine & _ dataReadArray(1) & vbNewLine & _ dataReadArray(2) & vbNewLine & _ dataReadArray(3) & vbNewLine & _ dataReadArray(4) & vbNewLine 

Passaggio 7

Chiudi la cartella di lavoro:

sourceBook.Close 

Passa alla finestra di PowerPoint e fai clic su "Macro". Fare clic su "Esegui" per eseguire la macro "copyFromExcel" e aggiungere una nuova diapositiva con i dati copiati dal file Excel creato nel passaggio 1.