Live-Forum - Die aktuellen Beiträge
Anzeige
Archiv - Navigation
1896to1900
Aktuelles Verzeichnis
Verzeichnis Index
Übersicht Verzeichnisse
Vorheriger Thread
Rückwärts Blättern
Nächster Thread
Vorwärts blättern
Anzeige
HERBERS
Excel-Forum (Archiv)
20+ Jahre Excel-Kompetenz: Von Anwendern, für Anwender
Daten in WordDatei ausgeben
26.08.2022 13:36:19
Sk1988
Hallo zusammen,
ich habe folgendes Problem ich muss aus einer Excel Tabelle Daten übertragen. Er schreibt mir in die Word-Datei leider nur die oberen 2 Zeilen.
Der obere Code funktioniert:

Dim wdapp As New Word.Application
Dim cb As Control, summe As Double, werte() As String
Dim znr As Double
znr = 2
With wdapp
.Visible = True
.Activate
.Documents.Add
.ActiveDocument.Select
With .Selection
.TypeText "Flüge in den Kontinenten " & Me.cmb_Kontinent & vbTab & "für das Jahr: " & Me.cmb_Jahr & _
vbTab & "Kategorie: " & Me.cmb_Kategorie
.TypeParagraph
.TypeParagraph
.TypeText "Flugnummer:" & vbTab & "Beförderte Passagiere:" & vbTab & vbTab & "Umsatz/€:" & vbTab & "Marketingausgaben/€:"
.TypeParagraph
ab hier funktioniert es leider nicht so wie ich es mir vorstelle, bzw er überspringt einfach die komplette IF answeisung.

                While Tabelle1.Range("A" & znr)  ""
If cmb_Kontinent = Range("A" & znr) Then
If cmb_Jahr = Range("B" & znr) Then
If cmb_Kategorie = Range("C" & znr) Then
.TypeText "& Cells(2 & znr) &" & vbTab & " & Cells(5 & znr) " & vbTab & " & Cells(6 & znr) & " & vbTab & " & Cells(7 & znr) & "
.TypeParagraph
End If
End If
End If
znr = znr + 1
Wend
End With
.ActiveDocument.SaveAs2 ActiveWorkbook.Path & "\" & Format(Now, "YYMMdd_hhmmss") & "_" & "Fluglinien_" & Me.cmb_Kontinent & Me.cmb_Jahr & Me.cmb_Kategorie & ".docx"
End With
End Sub
würde mich freuen wen jemand eine Idee hat wie ich das ab ändere das es funktioniert...
Gruß Sk1988

13
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: Daten in WordDatei ausgeben
26.08.2022 16:47:40
JoWE
Hallo,
was mir in Teil 2 Deines Codes auffällt: "
.TypeText "& Cells(2 & znr) &" & vbTab & " & Cells(5 & znr) " & vbTab & " & Cells(6 & znr) & " & vbTab & " & Cells(7 & znr) & "TypeParagraph"
Also: Cells(2 & znr) ergibt unmittelbar zu Beginn Deiner While/Wend-Schleife (also wenn znr = 1 ist) den Bezug $U$1.
Und Du bist sicher, das Du $U$1 auf einen bestimmten Wert prüfen willst?
Gruß
Jochen
AW: Daten in WordDatei ausgeben
26.08.2022 18:15:38
Sk1988
Hallo Jochen,
Ganz oben im Code steht znr = 2.
Also startet es in zeile 2. Hab ich irgend etwas falsch verstanden ?
Er soll in der Spalte A2 anfangen.
Anzeige
AW: Daten in WordDatei ausgeben
26.08.2022 19:08:42
JoWE
ja. ich schätze Du hast da etwas durcheinander gebracht:
Denn cells(2 & znr) ergibt auch mit der 2 dann cells(2 & "2") und damit Cells(22)weil Du nämlich eine Verkettung von Strings (Text) machst: Somit prüfst Du den Wert in der Zelle $V$1; ich denke nicht dass Du genau das beabsichtigst.
Du solltest Dir also auf jeden Fall das Ergebnis der Bedingungsprüfung ab dem ersten if
mal im Debugmodus ansehen.
Gruß
Jochen
AW: Daten in WordDatei ausgeben
26.08.2022 20:10:30
Sk1988
oh nein wie doof von mir.... es heißt ja Cells(2 , znr).... nicht Cells(2 & znr)
ganz doofer flüchtigkeitsfehler... Danke dir für die hilfe... :D
gruß Sk1988
Anzeige
AW: Gerne
26.08.2022 20:35:23
JoWE
Nächstes Problem
26.08.2022 20:41:59
Sk1988
Oh nein
Jetzt ist der Wurm total drin.... warum prüft er nur bis znr = 8 ist? Eigentlich sollte er dies doch bis 184 machen, soviele Zeilen sind dort vorhanden.....

While Cells(2, znr)  ""
sollte doch eigentlich bedeuten das er die Schleife solange ausführt, bis sie leer ist.
AW: lade bitte eine Beispieltabelle hoch
26.08.2022 21:03:35
JoWE
AW: lade bitte eine Beispieltabelle hoch
26.08.2022 21:17:01
Sk1988
https://www.herber.de/bbs/user/154837.xlsm
hier der link, code ist im Userform unter Ausgabe in Word, tatsächlich läuft die Schleife jetzt. Ich hab wieder einmal die falschen Zellen angesprochen.
Jetzt fehlt mir eigentlich nur noch das die Ausgabe richtig ist im Word Dokument, ich möchte das er den Zeilen Inhalt ausgibt, im Moment gibt er einfach nur
Cells(znr, 2).value aus statt den Inhalt
Die letzten 2 Zellen Umsatz/€: und Marketingausgaben/€: sollen noch Formatiert werden das sie als ###,###,###€ ausgegeben werden...
Vielen dank für deine zeit!
Anzeige
AW: lade bitte eine Beispieltabelle hoch
26.08.2022 21:37:17
JoWE
ok, aber von mir nicht mehr heute....
evtl. hat ja jemand anderer noch Lust heute Abend
AW: habe doch noch reingeschaut...
26.08.2022 22:37:25
JoWE
...war ja schnell zu machen :-)
(Du solltest beim Formatieren der Codezeilen etwas ordentlicher arbeiten, sorry!!!)
Hier der Code, so sollte es gehen:

Private Sub btn_Word_Click()
Dim wdapp As New Word.Application
Dim cb As Control, summe As Double, werte() As String
Dim znr As Double
znr = 2
With wdapp
.Visible = True
.Activate
.Documents.Add
.ActiveDocument.Select
With .Selection
.TypeText "Flüge in den Kontinenten " & Me.cmb_Kontinent & vbTab & _
"für das Jahr: " & Me.cmb_Jahr & _
vbTab & "Kategorie: " & Me.cmb_Kategorie
.TypeParagraph
.TypeParagraph
.TypeText "Flugnummer:" & vbTab & "Beförderte Passagiere:" & vbTab & vbTab _
& "Umsatz/€:" & vbTab & "Marketingausgaben/€:"
.TypeParagraph
While Cells(znr, 1)  ""
If cmb_Kontinent = Range("A" & znr) _
And cmb_Jahr = Range("C" & znr) _
And cmb_Jahr = Range("C" & znr) _
And cmb_Kategorie = Range("D" & znr) Then
.TypeText Cells(znr, 2).Value & vbTab & Cells(znr, 5) & vbTab _
& vbTab & vbTab & vbTab & Format(Cells(znr, 6), "#,###,###€") _
& vbTab & Format(Cells(znr, 7), "#,###,###€")
.TypeParagraph
End If
znr = znr + 1
Wend
End With
.ActiveDocument.SaveAs2 ActiveWorkbook.Path & "\" & Format(Now, "YYMMdd_hhmmss") _
& "_" & "Fluglinien_" & Me.cmb_Kontinent & Me.cmb_Jahr & Me.cmb_Kategorie & ".docx"
End With
End Sub
Gruß
Jochen
Anzeige
AW: habe doch noch reingeschaut...
26.08.2022 22:51:38
Sk1988
Hallo Jochen,
Seeeeehr vielen dank du rettest mir den Abend!!!
Und ja du hast recht, sobald es in meinen Kopf durcheinander wird, wird es in den Code Zeilen auch sehr schnell durcheinander und wild.
Vielen dank, und einen Schönen Freitag Abend noch!!
AW: Gerne
26.08.2022 23:10:23
JoWE
AW: Daten in WordDatei ausgeben
29.08.2022 22:55:00
snb
So geht das am einfachsten:

Sub btn_Word_Click()
With Tabelle2.Cells(1).CurrentRegion
.AutoFilter 1, cmb_Kontinent
.AutoFilter 3, cmb_Jahr
.AutoFilter 4, cmb_Kategorie
.Copy Tabelle2.Cells(1, 20)
.AutoFilter
End With
Tabelle2.Cells(1, 20).CurrentRegion.Copy
With CreateObject("Word.document")
.Content.Paste
.SaveAs "G:\OF\beispiel.docx"
.Close 0
End With
Tabelle2.Cells(1, 20).CurrentRegion.Copy
End Sub

Anzeige

299 Forumthreads zu ähnlichen Themen

Anzeige
Anzeige
Anzeige

Links zu Excel-Dialogen

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige