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:
223
Rating: Antwort:
 Nein
Thema:
Befehlsblock auf aktivie Zeilen anwenden

Hi Jörn

ungetestet z.B. so:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
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