Live-Forum - Die aktuellen Beiträge
Anzeige
Archiv - Navigation
1944to1948
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
Inhaltsverzeichnis

Bestellliste für ein Druckschema automatisch ausfüllen

Bestellliste für ein Druckschema automatisch ausfüllen
25.08.2023 12:53:37
DanielWes
Beispieldatei:
https://www.herber.de/bbs/user/162479.xlsm

Sehr geehrte Excel und VBA Profis,

Zu mir:
Ich bin Gründer eines Kleinunternehmens (Verleih von Candybars) mit geringem Umsatz (2k pa.), weshalb ich keinen Excelprofi engagieren kann.
Ich habe eine Excel und VBA Passion, jedoch sehr geringe Kenntnisse, weshalb ich auf Hilfe hoffe.

Zur Ausgangslage:
Ich möchte dem Kunden die Möglichkeit geben Süßwaren zu bestellen. Aufgrund meiner Excelpassion allerdings nicht auf einen bloßen Zettel zum ausdrucken und händischen Ankreuzen, sondern über eine elegante Exceldatei.
Hierzu habe ich verschiedene Worksheets angelegt:
- TB1 = Start: Begrüßung, Erklärung, Listenauswahl zu den anderen Sheets, Buttons (Alles zurücksetzen (fertig), Standardempfehlung (in Arbeit aber problemlos), Fertig (hier liegt das Problem)
- TB2-5 = Listen mit verschiedenen Süßwaren (Weingummis, Lakritz, Schokolade und Salziges): Hier sind nur die roten Zellen "Menge" nicht gesperrt, sodass die Kunden die Menge der gewünschten Süßwaren auswählen können.
- TB6 = System: Hier soll eine Bestellliste entstehen, die sich mit Knopfdruck "Fertig" (TB1) automatisch zu einer übersichtlichen Liste befüllt, um diese (z.B. als PDF) ausdrucken zu können.

Zur Aufgabe:
Drückt man auf der Startseite (Tabellenblatt 1) den Button "Fertig - Als PDF drucken" soll auf dem Tabellenblatt 6 ("System") ab Zeile 14 eine Auflistung entstehen.
Spalte A soll eine laufende Nummer generieren, Spalte B bis G soll die Daten aus den Tabellenblättern 2 - 5 kopieren bzw. einfügen, bei denen die Menge größer als 0 ist.
Zuletzt soll unter der letzten Spalte eine Summe der Preise (Spalte G) summiert werden.

Bisherige Problemlösungen:
Recherchen in Excelbüchern, Youtube Anleitungen und dem Versuch den Beitrag in diesem Forum "VBA, Generieren einer Bestellliste und Word-Export" zu nutzen und den dortigen Code auf meine Datei anzuwenden führten nicht zur Problemlösung, da ich zu dumm bin bzw. hier über mehrere TBs hinweg kopiert werden soll.
Ich bin mittlerweile am verzweifeln, da ich es seit Tagen selbst versuche und schnell merkte, dass mir VBA Skills fehlen.


In der Hoffnung, dass jemand Spaß an dieser Aufgabenstellung hat, verbleibe ich mit freundlichen Grüßen und Dank im voraus.
Daniel.

5
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: Bestellliste für ein Druckschema automatisch ausfüllen
25.08.2023 13:00:22
RPP63
Moin!

Woher willst Du wissen, dass die Kunden überhaupt Excel verwenden und nicht bspw. Libre Office Calc?
Das Nächste: In Excel sind Makros standardmäßig deaktiviert, willst Du die Kunden diesbezüglich schulen?

Ist für mich eine Schnapsidee, aber vielleicht liege ich ja daneben …

Gruß Ralf
Bestellliste für ein Druckschema automatisch ausfüllen
25.08.2023 13:22:39
MCO
Hallo Daniel!

Für so ne Kleinigkeit brauchst du noch keinen Programmierer.

Versuch das mal:

Sub Süssessammler()

Dim sh As Long
Dim system_sh As Worksheet

Set system_sh = Sheets(Sheets.Count)
system_sh.Range("A14:G99").ClearContents
Z = 14 'erste Zeile zum Eintragen

For sh = 2 To Sheets.Count - 1 'alle Sheets durchgehen (schließt neue Sheets nicht aus)
With Sheets(sh)
lz = .Cells(Rows.Count, "A").End(xlUp).Row 'letzte zeile im sheet (schließt Änderung der Zeilen nicht aus)
For zeil = 17 To lz
If .Cells(zeil, "A") > 0 Then
system_sh.Cells(Z, "A") = Z - 13 'lfd
system_sh.Cells(Z, "B") = .Cells(zeil, "A")
system_sh.Cells(Z, "C") = .Cells(zeil, "B")
system_sh.Cells(Z, "D") = .Cells(zeil, "C")
'system_sh.Cells(Z, "E") = .Cells(zeil, "D")
system_sh.Cells(Z, "F") = .Cells(zeil, "E")
system_sh.Cells(Z, "G") = .Cells(zeil, "F")
Z = Z + 1
End If
Next zeil
End With
Next sh
End Sub


Allerdings weiß ich nicht wo die 2te Mengenangabe herkommen soll, die als Spalte vorgemerkt ist. Daher hab ich das mal mit Kommentar ausgeblendet zur eigenen Nachbesserung.
Das Prinzip sollte klar sein....

Gurß, MCO
Anzeige
Bestellliste für ein Druckschema automatisch ausfüllen
25.08.2023 14:14:24
DanielWes
Vielen Dank für die schnellen Hilfen.
Der erste Code (von MCO) funktioniert wunderbar.
Die Idee im zweiten von daniel mit dem Rechnungsbetrag ist klasse.
Bestellliste für ein Druckschema automatisch ausfüllen
25.08.2023 13:03:59
DanielWes
Hallo Ralf,

vielen Dank für deine Anmerkungen.
Ich führe mit jedem Kunden zuvor immer ein Telefongespräch und erläutere das alles oder schicke zur Not tatsächlich eine PDF Datei zum Ausdrucken und Kreuzchen machen per Mail.
Bestellliste für ein Druckschema automatisch ausfüllen
25.08.2023 13:30:50
daniel
Hi
biespielsweise so:

Sub drucken()

Dim sh As Long
Dim rng As Range
Sheets("System").Range("A13").CurrentRegion.Offset(1, 0).ClearContents
For sh = 2 To ThisWorkbook.Sheets.Count - 1
For Each rng In Worksheets(sh).Columns(1).SpecialCells(xlCellTypeConstants, 1)
If rng.Value > 0 Then
rng.Resize(1, 6).Copy
With Sheets("system").Cells(Rows.Count, 1).End(xlUp).Offset(1, 0)
.Value = Val(.Offset(-1, 0)) + 1
.Offset(0, 1).PasteSpecial xlPasteValuesAndNumberFormats
End With
End If
Next
Next
End Sub

die Gesamtsumme würde ich mit einer einfachen Formel oberhalb der Daten ausgeben
gruß Daniel
Anzeige

301 Forumthreads zu ähnlichen Themen

Anzeige
Anzeige
Anzeige

Links zu Excel-Dialogen

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige