Hi Jörn
ungetestet z.B. so:
Sub Spendenbeleg_Geld()
'Bibliothek aktivieren
Dim wordapp As New Word.Application
Dim doc As Word.Document
Dim Zeile As Long
Dim rw As Range
Worksheets("Kassenbuch").Activate
'Word sichbar machen
wordapp.Visible = True
'Word-Datei öffnen
Set doc = wordapp.documents.Open("C:\Users\49151\Documents\Ö\04_Freizeit\_StSebSchützen\Vorlagen\Spendenbescheinigung\Spendenbescheinigung_Geld.docx")
For Each rw In Selection.Rows
Zeile = rw.Row
'Word Datei mit Excel-Datei befüllen
doc.FormFields("Betrag").Result = Tabelle1.Cells(Zeile, 5)
doc.Bookmarks("Name").Range.Text = Tabelle1.Cells(Zeile, 20).Value
doc.Bookmarks("Straße").Range.Text = Tabelle1.Cells(Zeile, 22).Value
doc.Bookmarks("Hausnummer").Range.Text = Tabelle1.Cells(Zeile, 23).Value
doc.Bookmarks("Wohnort").Range.Text = Tabelle1.Cells(Zeile, 21).Value
doc.Bookmarks("Datum").Range.Text = Tabelle1.Cells(Zeile, 2).Value
Next rw
'Word-Datei abspeichern
'doc.SaveAs2 ThisWorkbook.Path & "\Spendenbescheinigung" & Tabelle1.Cells(Zeile, 8).Value & ".docx"
doc.SaveAs2 ThisWorkbook.Path & "\20xx-xx-xx_Geldspende_Geber_" & Tabelle1.Cells(Zeile, 9).Value & ".docx"
'Word-Datei schließen
doc.Close SaveChanges:=False
'Word-Datei als PDF abspeichern
'doc.ExportAsFixedFormat ThisWorkbook.Path & "\BelegNr" & Tabelle1.Cells(Zeile, 8).Value & ".pdf", wdExportFormatPDF
'Word-Applikation schließen
wordapp.Quit
End Sub
Dabei habe ich deinen Code weitestgehend unverändert gelassen. Richtiger wäre natürlich, anstatt Zeile = rw.Row und dann wieder Tabelle1.cells(zeile, x) zu machen, lieber direkt auf rw zuzugreifen und die darin enthaltenen Cells auszulesen. z.B.: doc.FormFields("Betrag").Result = rw.EntireRow.cells(5).Value Aber das ist Geschmackssache.
Gruß Mr. K.
|