Excel zeile in Word schreiben
#1
Hallo nochmal und schon wieder habe ich eine doofe frage.
ich habe folgenden Code. 

Private Sub CommandButton_Eingabe_Click()
Dim last As Integer

Worksheets("Tabelle1").Activate
last = ActiveSheet.Cells(Rows.Count, 1).End(xlUp).Row + 1
Cells(last, 1).Value = TextBox_Serial
Cells(last, 2).Value = TextBox_IMEI
Cells(last, 3).Value = TextBox_Emailadresse
Cells(last, 4).Value = TextBox_Vorname
Cells(last, 5).Value = TextBox_Nachname
Cells(last, 6).Value = TextBox_Lokation
Cells(last, 7).Value = TextBox_Adresse



dieser bewirkt das eingaben in einer Userform eine zeile im Excel sheet füllen.
nun möchte ich aber diese Zeilen auch noch direkt mit einem Word Formular verknüpfen so dass die Angaben direkt im Word Dokument drin stehen.
die Textmarker im Word Dokument habe ich schon gemacht.

könnt ihr mir da weiterhelfen?
Top
#2
Hi,

das würde ich von der anderen Seite her anpacken. Word hat eine Serienbrieffunktion, mit der du auch eine Exceltabelle als Datenquelle verwenden kannst. Das geht ganz einfach und ohne eine Zeile Code.
Schöne Grüße
Berni
Top
#3
Hallo erst mal und danke für deine Antwort.
leider ist das nicht möglich da es gleichzeitig geschehen soll und das mit jedem Userform aufs neue mit immer anderen daten.

kurz zum ziel beschrieb.

die bestehende UserForm trägt die Daten in eine Tabelle die als Daten Bank fungiert.
wenn ich da Daten eingebe muss ich einen Lieferschein (das besagte Word Dokument) ausfüllen und ich möchte das nicht zweimal in die Hand nehmen und eben direkt mit dem Eingeben der Daten auch das Word ausführen.
Top
#4
Hallo, :19:

wenn du schon ein fertiges Dokument mit Textmarken hast, dann prinzipiell so: :21:

Excel -> Word in Textmarken (Bookmarks)...

Oder du arbeitest mit Dokumentvariablen.
Top
#5
Hallo Case,
besten dank und ich hab mir die Links angeschaut und bin erst mal völlig überfordert Smile
ich bin totaler VBA anfänger und verstehe das nicht super gut aber das Prinzip habe ich begriffen.
nur ich habe gedacht es geht mit dem selben klick wie auch die Einträge erfolgen und nicht separat. Denn dann müsste ich ja alles wieder aus der Tabelle filtern.

sowas habe ich mir vorgestellt.
ist das denn überhaupt möglich?


Worksheets("Tabelle1").Activate
last = ActiveSheet.Cells(Rows.Count, 1).End(xlUp).Row + 1

Cells(last, 1).Value = TextBox_Serial
Textbox_Serial = objDocument.Bookmarks(strBookmark1).value

Cells(last, 2).Value = TextBox_IMEI
Cells(last, 3).Value = TextBox_Emailadresse
Cells(last, 4).Value = TextBox_Vorname
Cells(last, 5).Value = TextBox_Nachname
Cells(last, 6).Value = TextBox_Lokation
Cells(last, 7).Value = TextBox_Adresse
Top
#6
Hallo, :19:

na ja - warum soll das nicht gehen? In deinem Code vom "CommandButton" öffnest du einfach das Worddokument, schreibst die Daten und speicherst das Dokument. Fertig. :21:
Top
#7
leider lässt sich das Dokument nicht öffnen mache ich da was falsch am Code?


Private Sub CommandButton_Eingabe_Click()
Dim last As Integer
Dim strDoc As String
strDoc = ThisWorkbook.Path & _
        Application.PathSeparator & "C:\Users\IDM117654\Documents\Lieferschein.docx"

Worksheets("Tabelle3").Activate
last = ActiveSheet.Cells(Rows.Count, 1).End(xlUp).Row + 1
Cells(last, 1).Value = TextBox02_Computername
Cells(last, 2).Value = TextBox02_Modell
Cells(last, 3).Value = TextBox02_Emailadresse
Cells(last, 4).Value = TextBox02_Vorname
Cells(last, 5).Value = TextBox02_Nachname
Cells(last, 6).Value = TextBox02_Lokation
Cells(last, 7).Value = TextBox02_Adresse
Top
#8
Hallo, :19:

Bei einem festen Pfad so: :21:

Code:
strDoc = "C:\Users\IDM117654\Documents\Lieferschein.docx"

Jetzt musst du natürlich noch öffnen. Dodgy
Top
#9
ok das geht mit welchem Befehl? oder kann ich das Dokument einfach offen haben?
Top
#10
Hallo, :19:

das steht doch in meinem Beispiel im Code in den Kommentaren alles drin. :21:
Top


Gehe zu:


Benutzer, die gerade dieses Thema anschauen: 1 Gast/Gäste