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
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.