Live-Forum - Die aktuellen Beiträge
Anzeige
Archiv - Navigation
1644to1648
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

Daten per Button richtig übertragen

Daten per Button richtig übertragen
20.09.2018 13:41:33
Manuel
Hallo,
ich bin gerade dabei mich etwas in die Thematik rund um Makros und VBA einzuarbeiten, jedoch noch ganz am Anfang. Ich versuche derzeit eine Art "Kassensystem" für Excel zu "entwickeln" bzw. spiele ich einfach etwas damit rum. Nun habe ich aber folgendes Problem:
Mein erstes Arbeitsblatt nennt sich "Kasse". Auf der Kassenoberfläche kann ich mittlerweile schon per Barcodescanner Produkte einscannen. Nach jedem Scan erscheint der Barcode, welcher per Verweis den Namen und den Preis ausspuckt.
Jeder neue Scan erscheint darunter und auch der Gesamtpreis wird angezeigt. Soweit sogut.
Die Daten fangen in Zeile 3 an:
C3=Anzahl
D3=Artikelname
Nun habe ich in einem neuen Arbeitsblatt "Beleg" ein schönes Layout für einen Beleg erstellt.
Hier müssten nun die Daten aus der Kassenübersicht erscheinen, aber erst nachdem der Button "Beleg erstellen" gedrückt wird.
Der erste Datensatz muss hier erscheinen:
C15=Anzahl
D15=Artikelname
Jetzt komme ich zu meinem Problem.
Im Beleglayout kann ich ja noch nicht abschätzen, wie viele Artikel aus der Kassenübersicht eingefügt werden. Wenn ich z.B. in der Kassenübersicht 20 verschiedene Artikel habe, dann müsste der Beleg entsprechend länger werden, bei einem Artikel müsste er entsprechend kurz bleiben.
Sinnvoll wäre daher, wenn Excel auf dem Arbeitsblatt "Kasse" nach dem drücken des Buttons "Beleg erstellen" anfängt folgende Aufgaben durchzuführen:
Arbeitsblatt Kasse C3,D3 nach Arbeitsblatt Beleg C15,D15
Neue Zeile 15 auf Arbeitsblatt Beleg einfügen
Arbeitsblatt Kasse C4,D4 nach Arbeitsblatt Beleg C15,D15
Neue Zeile 15 auf Arbeitsblatt Beleg einfügen
usw.
Das darf natürlich nur solange wiederholt werden, wie die Zeilen auch mit Artikeln in der Kassenübersicht gefüllt sind.
Wie genau kann ich das realisieren?
Besten Dank !!

1
Beitrag zum Forumthread
Beitrag zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: Daten per Button richtig übertragen
22.09.2018 11:54:49
fcs
Hallo manuel,
das kannst du etwa wie folgt umsetzen.
LG
Franz
Sub Beleg_Ausfuellen()
Dim wksBeleg As Worksheet
Dim Zei_B As Long
Dim wksKasse As Worksheet
Dim Zei_K As Long, Zei_KL As Long
Dim StatusCalc As Long
Set wksBeleg = ThisWorkbook.Worksheets("Beleg")
Set wksKasse = ThisWorkbook.Worksheets("Kasse")
'Makrobremsen lösen
With Application
StatusCalc = .Calculation
.Calculation = xlCalculationManual
.ScreenUpdating = False
.EnableEvents = False 'nur erforderlich, wenn in der Datei Ereignismakros verwendet  _
werden
End With
Zei_B = 15
With wksKasse
'1. Artikel übertragen
wksBeleg.Cells(Zei_B, 3).Value = .Cells(3, 3).Value 'Anzahl
wksBeleg.Cells(Zei_B, 4).Value = .Cells(3, 4).Value 'Artikel
'letzte Zeile mit Eintrag für Anzahl ermitteln
Zei_KL = .Cells(.Rows.Count, 3).End(xlUp).Row
If Zei_KL > 3 Then
'restliche Artikel übertragen
For Zei_K = 4 To Zei_KL
wksBeleg.Rows(Zei_B).Insert shift:=xlShiftDown
wksBeleg.Cells(Zei_B, 3).Value = .Cells(Zei_K, 3).Value 'Anzahl
wksBeleg.Cells(Zei_B, 4).Value = .Cells(Zei_K, 4).Value 'Artikel
Next
End If
End With
'Makrobremsen zurücksetzen
With Application
.Calculation = StatusCalc
.ScreenUpdating = True
.EnableEvents = True
End With
End Sub

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige