Seite 1 von 2

Zeilen Kopie erstellen

Verfasst: Mo 13. Feb 2023, 12:51
von Patrick
Hallo Forum,
ich suche nach einer Lösung für folgendes Problem:
Aus einem Import erhalte ich eine Tabelle, bestehend aus den Spalten "Laufende Nummer", "Stückzahl", "Artikelnummer" und "Artikeltext". Um Etiketten zu drucken, habe ich ein zweites Tabellenblatt erstellt, auf dem per Sverweis die laufende Nummer abgefragt wird und auf einem vordefinierten Druckbereich die Artikelnummer und Artikeltext ausgegeben werden. Nun benötige ich aber nicht nur ein Etikett pro Artikel, sondern jeweils so viele wie in der Spalte "Stückzahl" angegeben.
Kann ich eine Hilfstabelle erzeugen, auf der je nach Stückzahl die jeweiligen Zeilen wiederholt ausgegeben werden? Oder hat jemand dazu einen anderen Lösungsansatz?
Vielen Dank im Voraus.

Re: Zeilen Kopie erstellen

Verfasst: Mo 13. Feb 2023, 14:04
von DavidG
Hallo Patrick,

Etiketten drucke ich nie aus Calc heraus, weil die grafischen Möglichkeiten begrenzt sind.

Ich erstelle mit per Writer ein Etikettendokument,
wobei es hier vorgefertigte Eitkettenvorlagen verschiedenster Hersteller gibt.
Menü Datei → Neu → Etiketten
Hersteller auswählen und die entsprechende Herstellernummer suchen.
Dann neues Dokument erstellen.
Jetzt wird Writer mit der Calc-Liste als Datenquelle verknüpft.
Alles weitere siehe Videos:
https://www.youtube.com/results?search_ ... atenquelle

Re: Zeilen Kopie erstellen

Verfasst: Mo 13. Feb 2023, 14:51
von Patrick
Hallo David,
danke für Deine schnelle Antwort. Ich möchte ungern noch ein weiteres Programm öffnen müssen, in dem die Daten dann ein weiteres Mal (wenn auch automatisiert auf Knopfdruck) importiert und kontrolliert werden müssen. Neben den genannten Daten hängt noch einiges mehr dahinter, sodass ich es so einfach wie möglich halten will.

Das Vorlagenblatt der Etiketten habe ich in CALC bereits erstellt und es funktioniert sehr gut. Lediglich das manuelle Copy+Paste von Zeilen mit Stückzahl "Größer 1" ist etwas lästig... Es müsste doch eine Funktion geben, mit der bei beispielsweise "Stückzahl 3" dreimal die gleiche Zeile ausgegeben wird und dann die nächste Zeile geprüft wird.

Re: Zeilen Kopie erstellen

Verfasst: Mo 13. Feb 2023, 15:16
von HeritzP

Re: Zeilen Kopie erstellen

Verfasst: Mo 13. Feb 2023, 18:40
von Patrick
Hallo HeritzP,
genau danach habe ich gesucht.
Leider funktioniert es nicht auf Anhieb, ich bekomme den Fehler "BASIC Syntaxfehler - Unbekannter Datentyp Range" in LibreOffice (Version 7.5.0.3), wenn ich den Code als Makro einfüge und ausführen will. Irgendein Tipp?
Hier nochmal der Code:

Sub CopyData()
'Updateby Extendoffice
Dim Rng As Range
Dim InputRng As Range, OutRng As Range
xTitleId = "KutoolsforExcel"
Set InputRng = Application.Selection
Set InputRng = Application.InputBox("Range :", xTitleId, InputRng.Address, Type:=8)
Set OutRng = Application.InputBox("Out put to (single cell):", xTitleId, Type:=8)
Set OutRng = OutRng.Range("A1")
For Each Rng In InputRng.Rows
xValue = Rng.Range("A1").Value
xNum = Rng.Range("B1").Value
OutRng.Resize(xNum, 1).Value = xValue
Set OutRng = OutRng.Offset(xNum, 0)
Next
End Sub

Re: Zeilen Kopie erstellen

Verfasst: Mo 13. Feb 2023, 19:07
von HeritzP
Hallo,

das Programm ist für Excel.
Es ist unwahrscheinlich, dass es in LibreOffice funktioniert.

Re: Zeilen Kopie erstellen

Verfasst: Mo 13. Feb 2023, 21:46
von Patrick
Vielleicht findet sich dann jemand hier, der die Programmierung für Libre Office gegen Bezahlung übernehmen würde. Gerne eine persönliche Nachricht an mich.

Re: Zeilen Kopie erstellen

Verfasst: Mi 15. Feb 2023, 15:04
von DavidG
Hallo Patrick,

ich arbeite hier im Forum nur unentgeltlich.

Falls Du noch keine Hilfe erhalten hast, wäre es nett, wenn Du mal eine
Musterdatei mit möglichst exakter Beschreibung hier hochladen würdest.

Du kannst auch mal diese VBA-Code in die Basic-IDE einfügen und ausführen.
Bis zu einem gewissen Grad kann der Interpreter VBA-Code ausführen:

Code: Alles auswählen

REM Diese Anweisung erlaubt VBA-Code auszuführen:
Option VBASupport 1

Sub CopyData()
'Updateby Extendoffice
Dim Rng As Range
Dim InputRng As Range, OutRng As Range
	xTitleId = "KutoolsforExcel"
		Set InputRng = Application.Selection
		Set InputRng = Application.InputBox("Range :", xTitleId, InputRng.Address, Type:=8)
		Set OutRng = Application.InputBox("Out put to (single cell):", xTitleId, Type:=8)
		Set OutRng = OutRng.Range("A1")
			
			For Each Rng In InputRng.Rows
				xValue = Rng.Range("A1").Value
					xNum = Rng.Range("B1").Value
						OutRng.Resize(xNum, 1).Value = xValue
				Set OutRng = OutRng.Offset(xNum, 0)
			Next
End Sub
Wenn Dein Projekt nicht zu umfangreich wird, dann kann ich Dir sicherlich helfen.

Re: Zeilen Kopie erstellen

Verfasst: Mi 15. Feb 2023, 15:49
von mikele
Hallo,
ein einfacher erster Ansatz könnte so aussehen.
Wie sieht dein Etikettenblatt aus?

Re: Zeilen Kopie erstellen

Verfasst: Fr 24. Feb 2023, 21:08
von DavidG
Hallo Patrick,

ich stelle Dir hier eine Makrolösung vor.
Die Daten in der Musterdatei sind verfremdet, dient
nur der Veranschaulichung wie das Makro arbeitet.
Muster Etikettendruck - Makro.ods
(23.74 KiB) 247-mal heruntergeladen
Habe Dir gerade eine PN geschrieben.