Thema Datum  Von Nutzer Rating
Antwort
01.11.2023 12:57:22 Jörn
Solved
Blau Befehlsblock auf aktivie Zeilen anwenden
02.11.2023 19:28:30 xlKing
Solved
06.11.2023 18:03:52 Jörn
Solved
06.11.2023 19:36:46 xlKing
Solved
06.11.2023 20:00:17 xlKing
Solved
07.11.2023 17:57:40 Jörn
Solved

Ansicht des Beitrags:
Von:
xlKing
Datum:
02.11.2023 19:28:30
Views:
155
Rating: Antwort:
 Nein
Thema:
Befehlsblock auf aktivie Zeilen anwenden

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.


Ihre Antwort
  • Bitte beschreiben Sie Ihr Problem möglichst ausführlich. (Wichtige Info z.B.: Office Version, Betriebssystem, Wo genau kommen Sie nicht weiter)
  • Bitte helfen Sie ebenfalls wenn Ihnen geholfen werden konnte und markieren Sie Ihre Anfrage als erledigt (Klick auf Häckchen)
  • Bei Crossposting, entsprechende Links auf andere Forenbeiträge beifügen / nachtragen
  • Codeschnipsel am besten über den Code-Button im Text-Editor einfügen
  • Die Angabe der Emailadresse ist freiwillig und wird nur verwendet, um Sie bei Antworten auf Ihren Beitrag zu benachrichtigen
Thema: Name: Email:



  • Bitte beschreiben Sie Ihr Problem möglichst ausführlich. (Wichtige Info z.B.: Office Version, Betriebssystem, Wo genau kommen Sie nicht weiter)
  • Bitte helfen Sie ebenfalls wenn Ihnen geholfen werden konnte und markieren Sie Ihre Anfrage als erledigt (Klick auf Häckchen)
  • Bei Crossposting, entsprechende Links auf andere Forenbeiträge beifügen / nachtragen
  • Codeschnipsel am besten über den Code-Button im Text-Editor einfügen
  • Die Angabe der Emailadresse ist freiwillig und wird nur verwendet, um Sie bei Antworten auf Ihren Beitrag zu benachrichtigen

Thema Datum  Von Nutzer Rating
Antwort
01.11.2023 12:57:22 Jörn
Solved
Blau Befehlsblock auf aktivie Zeilen anwenden
02.11.2023 19:28:30 xlKing
Solved
06.11.2023 18:03:52 Jörn
Solved
06.11.2023 19:36:46 xlKing
Solved
06.11.2023 20:00:17 xlKing
Solved
07.11.2023 17:57:40 Jörn
Solved