By: Shamima Sultana

In reply to Matthew.

Hello Matthew,

Thank you so much for your kind words! Your idea is excellent — using Excel to create one page per record in Word or one slide per record in PowerPoint is definitely possible, and many teachers would find that very useful.

To keep things simple:
Yes, you can use VBA (macro) in Excel to export data row-by-row into either Word or PowerPoint. Here’s an example for Word, where each row becomes one new page:
VBA Example: One Row = One Page in Word

Sub ExportRowsToWord()
Dim ws As Worksheet
Dim wordApp As Object
Dim wordDoc As Object
Dim i As Long, lastRow As Long
Set ws = ThisWorkbook.Sheets("Sheet1")

lastRow = ws.Cells(ws.Rows.Count, "A").End(xlUp).Row

Set wordApp = CreateObject("Word.Application")
wordApp.Visible = True
Set wordDoc = wordApp.Documents.Add

For i = 2 To lastRow 'assuming row 1 is header
wordDoc.Content.InsertAfter "Unit: " & ws.Cells(i, 1).Value & vbCrLf
wordDoc.Content.InsertAfter "Sentence: " & ws.Cells(i, 2).Value & vbCrLf
wordDoc.Content.InsertAfter vbCrLf & "------------------------" & vbCrLf & vbCrLf
wordDoc.Content.InsertBreak Type:=7 'page break
Next i

MsgBox "Export complete!"
End Sub

What you need:
1. Excel with your data (e.g., Unit in Column A, Sentence in Column B).
2. Microsoft Word installed.
3. Press Alt + F11 in Excel → Insert a module → Paste the code → Run it.

If you’re looking to do this with PowerPoint, the idea is similar, just using PowerPoint objects instead of Word.

Regards
ExcelDemy