so sieht es genau richtig aus wie ich es haben wollte.
Ich habe Excel 2013 und habe nun das Add In installiert und habe nun auch Power Query.
Es wäre ganz nett wenn du kurz erklären kannst wie du das hinbekommen hast.
Und vorallem mit dem passenden Etikettenbogen.
Vielen Dank schonmal.
Hallo, ich habe mit Power Query eine Datenquelle geschaffen und sie an Word (Serienbrief) übergeben. Ich schicke gern die Dateien zum Anschauen und Nachvollziehen. Eine Erklärung würde ein wenig dauern. Nicht, dass das schwierig ist, aber es dauert das aufzuschreiben... Und ich bin in der Arbeit...
Gruß Jörg
ich muss mich erst wieder ganz langsam heran robben. Also bitte ich um Nachsicht
"Wer immer tut, was er schon kann, bleibt immer das, was er schon ist." - Henry Ford
22.11.2019, 14:21 (Dieser Beitrag wurde zuletzt bearbeitet: 22.11.2019, 14:23 von Kapi.)
Hi
Könntest du mir das evtl. Später wenn du mehr Zeit hast oder über das Wochenende erklären?
Weil so kann ich noch nichts anfangen deswegen frage ich.
(22.11.2019, 13:45)Jockel schrieb: Hallo, ich habe mit Power Query eine Datenquelle geschaffen und sie an Word (Serienbrief) übergeben. Ich schicke gern die Dateien zum Anschauen und Nachvollziehen. Eine Erklärung würde ein wenig dauern. Nicht, dass das schwierig ist, aber es dauert das aufzuschreiben... Und ich bin in der Arbeit...
Vielleicht kannst du ja wie du schon sagtest die Daten schicken und ich versuche das zu verstehen und wenn ich was nicht verstehe frage ich nach
22.11.2019, 23:15 (Dieser Beitrag wurde zuletzt bearbeitet: 22.11.2019, 23:16 von snb.)
Darfen wir hier nur Komplettlösungen posten, oder sind Vorschläge mit den man weiter arbeiten kann auch erlaubt ?
Word Makro
Code:
Sub M_snb()
sn = GetObject("G:\OF\__etiket_4333.xlsb").Sheets(1).Cells(1).CurrentRegion
For j = 3 To UBound(sn)
If sn(j, 2) <> "" Then c00 = c00 & Replace(Space(sn(j, 6)), " ", Replace(sn(j, 2), ".119", " 119_"))
Next
sn = Split(c00, "_")
For j = 0 To (UBound(sn) + 1) \ 189 + 1
Application.MailingLabel.CreateNewDocumentByID "201326677", " "
For jj = 189 * j To 189 * (j + 1)
If jj > UBound(sn) Then Exit For
ActiveDocument.Tables(1).Cell((jj Mod 27) \ 7 + 1, 2 * (jj Mod 7) + 1).Range.Text = sn(jj) & Chr(13) & Chr(7)
Next
Next
End Sub
(22.11.2019, 23:15)snb schrieb: Darfen wir hier nur Komplettlösungen posten, oder sind Vorschläge mit den man weiter arbeiten kann auch erlaubt ?
Hallo, nee, aber ob der TE das so alleine hätte erweitern können? Ich könnte es nicht, brauche ich auch nicht. Ich habe einen anderen Ansatz.
Darfen ich doch, oder? Oder ist das nicht erlaubt?
Gruß Jörg
ich muss mich erst wieder ganz langsam heran robben. Also bitte ich um Nachsicht
"Wer immer tut, was er schon kann, bleibt immer das, was er schon ist." - Henry Ford
mal allgemein gesagt - "sachdienliche Hinweise" sind jederzeit gern gesehen, egal in welchem Umfang oder Ansatz :100:
Na ja, und wenn man verschiedene Lösungsansätze bekommt, z.B. mit und ohne Makros, ist auch nicht verkehrt.
Das zuletzt gepostete Makro erzeugt bei mir 3 Dateien, die ersten beiden unvollständig und die dritte bis auf die Rahmen leer.
. \\\|/// Hoffe, geholfen zu haben. ( ô ô ) Grüße, André aus G in T ooO-(_)-Ooo (Excel 97-2019+365)
Hallo André sehe ich genauso. Aber gleich meckern ist kacke... Es dann nicht besser machen, erst recht... Ist aber auch egal. Meine Variante ist getestet und liefert genau das beschriebene Ergebnis...
Gruß Jörg
ich muss mich erst wieder ganz langsam heran robben. Also bitte ich um Nachsicht
"Wer immer tut, was er schon kann, bleibt immer das, was er schon ist." - Henry Ford
23.11.2019, 14:16 (Dieser Beitrag wurde zuletzt bearbeitet: 23.11.2019, 14:16 von snb.)
@Schauan
Läuft bestimmt besser:
Code:
Sub M_snb()
sn = GetObject("G:\OF\__etiket_4333.xlsb").Sheets(1).Cells(1).CurrentRegion
For j = 3 To UBound(sn)
If sn(j, 2) <> "" Then c00 = c00 & Replace(Space(sn(j, 6)), " ", Replace(sn(j, 2), ".119", " 119_"))
Next
sn = Split(c00, "_")
For j = 0 To UBound(sn) \ 189
Application.MailingLabel.CreateNewDocumentByID "201326677", " "
For jj = 189 * j To 188 * (j + 1)
If jj > UBound(sn) Then Exit For
ActiveDocument.Tables(1).Cell((jj Mod 189) \ 7 + 1, 2 * (jj Mod 7) + 1).Range.Text = sn(jj) & Chr(13) & Chr(7)
Next
Next
End Sub
Der Excel approach:
Code:
Sub M_snb()
sn = Sheet1.Cells(1).CurrentRegion
c00 = "naam" & vbCr
For j = 3 To UBound(sn)
If sn(j, 2) <> "" Then c00 = c00 & Replace(Space(sn(j, 6)), " ", Replace(sn(j, 2), ".119", " 119" & vbCr))
Next