Excel VBA - Werte in Word-Dokument übertragen
Hallo und Guten Tag,
ich nutze eine Excel-Datei (Excel 2019, Win11), welche jetzt um ein Makro erweitert werden soll. Ich möchte per Button im Excel-Formular Daten aus bestimmten Zellen in ein Word-Dokument übertragen.
Leider komme ich nicht weiter, hier das aktuelle Stand des Makros:
Die Zelle für den Betrag (I23) wird in Excel berechnet (I21-I22) und zeigt den Betrag 69,00 an.
Die Zelle für FreiSW (L9) zeigt eine 4-stellige Zahl, ohne Kommastellen an, z.B. 4.500.
Der Button und das Kopieren der Werte in das Word-Dokument funktioniert bereits. Leider gehen die Formatierungen verloren, sodass z.B. beim Betrag statt 69,00 nur 69, bzw. statt 69,90 nur 69,9 ausgegeben wird. Zudem fehlen mir im Word-Dokument die 1000er Trennzeichen ("."), es wird also 4500 statt der gewünschten 4.500 übertragen.
Hat jemand eine Idee, wie ich die Werte korrekt übertragen kann?
Danke u. Grüße I.
ich nutze eine Excel-Datei (Excel 2019, Win11), welche jetzt um ein Makro erweitert werden soll. Ich möchte per Button im Excel-Formular Daten aus bestimmten Zellen in ein Word-Dokument übertragen.
Leider komme ich nicht weiter, hier das aktuelle Stand des Makros:
Sub Word_erstellen()
' Variablen defenieren
Dim strTyp As String
Dim strBetrag As String
Dim strLaufzeit As String
Dim strFreiSW As String
Dim objWord As Object
Set objWord = CreateObject("Word.Application")
' Ein neues Word-Dokument auf Basis der Vorlage erstellen
objWord.Documents.Add "C:\Users\xUSER\Desktop\Vorlage.docx"
objWord.Visible = True
' Daten aus Excel in Word-Vorlage übertragen
Sheets("Eingabe").Activate
strTyp = Range("C25").Value
strBetrag = Range("I23").Value
strLaufzeit = Range("L6").Value
strFreiSW = Range("L9").Value
objWord.ActiveDocument.Bookmarks("Typ").Range.Text = strTyp
objWord.ActiveDocument.Bookmarks("Betrag").Range.Text = strBetrag
objWord.ActiveDocument.Bookmarks("Laufzeit").Range.Text = strLaufzeit
objWord.ActiveDocument.Bookmarks("Frei_sw").Range.Text = strFreiSW
End Sub
Die Zelle für den Betrag (I23) wird in Excel berechnet (I21-I22) und zeigt den Betrag 69,00 an.
Die Zelle für FreiSW (L9) zeigt eine 4-stellige Zahl, ohne Kommastellen an, z.B. 4.500.
Der Button und das Kopieren der Werte in das Word-Dokument funktioniert bereits. Leider gehen die Formatierungen verloren, sodass z.B. beim Betrag statt 69,00 nur 69, bzw. statt 69,90 nur 69,9 ausgegeben wird. Zudem fehlen mir im Word-Dokument die 1000er Trennzeichen ("."), es wird also 4500 statt der gewünschten 4.500 übertragen.
Hat jemand eine Idee, wie ich die Werte korrekt übertragen kann?
Danke u. Grüße I.
Bitte markiere auch die Kommentare, die zur Lösung des Beitrags beigetragen haben
Content-ID: 668343
Url: https://administrator.de/contentid/668343
Ausgedruckt am: 24.11.2024 um 07:11 Uhr
3 Kommentare
Neuester Kommentar
Sub Word_erstellen()
' Variablen definieren
Dim strTyp As String, strBetrag As String, strLaufzeit As String, strFreiSW As String, objWord As Object, doc As Object
' Word-Object erstellen
Set objWord = CreateObject("Word.Application")
objWord.Visible = True
' Ein neues Word-Dokument auf Basis der Vorlage erstellen
Set doc = objWord.Documents.Add("C:\Users\xUSER\Desktop\Vorlage.docx")
' Daten aus Excel in Word-Vorlage übertragen
With Sheets("Eingabe")
strTyp = .Range("C25").Text
strBetrag = .Range("I23").Text
strLaufzeit = .Range("L6").Text
strFreiSW = .Range("L9").Text
End With
With doc
.Bookmarks("Typ").Range.Text = strTyp
.Bookmarks("Betrag").Range.Text = strBetrag
.Bookmarks("Laufzeit").Range.Text = strLaufzeit
.Bookmarks("Frei_sw").Range.Text = strFreiSW
End With
End Sub
PasteSpecial und xlPasteFormats
https://wellsr.com/vba/2018/excel/vba-pastespecial-values-formats-formul ...
https://wellsr.com/vba/2018/excel/vba-pastespecial-values-formats-formul ...