Excelmakro für Word Erstellung und Befüllung
14.03.2019 11:44:22
Jörg
ich habe folgende Fragen/Änderungswünsche zu diesem Makro:
Sub Angebot()
Dim Zeile As Long
Dim appWord As Object
Dim docTest As Object
Zeile = InputBox("Aus welcher Zeile sollen die Daten gedruckt werden?", "Auswahl der Zeile") _
_
Set appWord = CreateObject("Word.Application")
Set docTest = appWord.Documents.Add("H:\Privat\Vorlage.docx") '--> Speicherort
appWord.Visible = True
docTest.Activate
docTest.Bookmarks("Vorname").Range.Text = Range("a" & CStr(Zeile))
docTest.Bookmarks("Nachname").Range.Text = Range("b" & CStr(Zeile))
docTest.Bookmarks("StraßeHausnr").Range.Text = Range("c" & CStr(Zeile))
docTest.Bookmarks("Postleitzahl").Range.Text = Range("d" & CStr(Zeile))
docTest.Bookmarks("Ort").Range.Text = Range("e" & CStr(Zeile))
docTest.Bookmarks("Anrede").Range.Text = Range("f" & CStr(Zeile))
docTest.Bookmarks("Leistung").Range.Text = Range("g" & CStr(Zeile))
Set docTest = Nothing
Set appWord = Nothing
End Sub
1. Aktuell ist die Spalte die er für die Bookmark nutz ja fest definiert. Ich möchte das ganze jetzt gern variable gestalten, damit man nicht immer die Spalte anpassen muss wenn eine Spalte hinzukommt. In Zeile A hat jeder Spalte einen Namen und auf diesen würde ich das ganze gern ausrichten.2. Ist es möglich das er mir die Bookmarks aus meheren Zellen zusammenfügt? Also zum Beispiel das wenn bei "Leistung" Paket1 steht, dann soll er auf das Tabellenblatt 2 gehen und die beiden Textfelder für Paket 1 zusammenfügen.
3. Wie muss die Bookmark aussehen wenn ich zum Beispiel die Anrede über das Geschlecht definieren möchte. Also wenn in der Spalte "Geschlecht" männlich steht, dann soll er "Sehr geehrter Herr" nehmen und wenn weiblich dann natürlich "Sehr geehrte Frau.
4. Wie muss ich in meinem Fall die Vorlage für Word anpassen, damit ich bestimmte Bookmarks doppelt nutzen kann. Zum Beispiel der Nachname kommt in der Vorlage mehrfach vor.
Ich hoffe es findet sich jemand der meine Fragen versteht und mir helfen kann.
Vielen Dank schon einmal im Vorfeld.