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

Makro um Daten wiederzugeben wenn Beding

Makro um Daten wiederzugeben wenn Beding
07.06.2021 16:45:21
Verzweifelt
Ein Hallo an alle Excelspezis!
Bis jetzt konnte ich mir immer selbst helfen, sei es mit Google oder anderen Mitteln weiterhelfen.
Jetzt bin ich aber an meine Grenzen gestoßen und bin halbwegs am verzweifeln.
Ich lade euch zusätzlich eine Mappe mit hoch wo ein Ausschnitt der Excel ist die ich bearbeite.
Das Ziel soll folgendes sein (in Einzelschritten aufgeführt):
1. Aus Tabelle 1 soll die Artikelnummer genommen werden und Tabelle "Auslieferung" gesucht werden (Excel ist ca. 3000 Zeilen lang, sowohl Tabelle 1 wie "Auslieferung")
2. Er soll aus Tabelle 1 den Lagerbestand aus Lager 1 nehmen und mit dem ersten Auftrag subtrahieren. Wenn der Wert Positiv ist soll er Auftrag 1 + 2 addieren und wenn der Wert wieder Positiv ist das gleiche mit den nächsten Auftrag, usw. bis der Wert negativ ist. Da wo der Wert Negativ geworden ist (bei der Excel wäre das, dass Datum 12.07), soll er das entsprechende Datum in Tabelle 1 in Spalte Q wiedergeben.
Ich hoffe es war einigermaßen Verständlich.
Link zur Excel:
https://www.herber.de/bbs/user/146527.xlsx

17
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: da ist mE einiges unklar ...
07.06.2021 17:40:28
neopa
Hallo,
... so u.a.:
- stehen denn die Daten in "Auslieferung" je Lager in verschiedenen Spalten, also für Lager 1 immer nur in Spalte H?
- Sind die Daten dort sortiert nach Artikel-Nr und Datum? Oder?
- Wieso soll als Ergebnis im Beispiel erst der 12.07. ausgegeben werden?
Denn an diesem Tag soll ja schon geliefert werden, aber der Bestand dafür ist da nicht mehr ausreichend.
- Kann in "Auslieferung" eine Hilfsspalte eingeführt werden?
- Weshalb soll das Ergebnis in Spalte Q ausgegeben werden? Spalte P erscheint plausibler.
- Warum wird der Lagerbestand von Lager 14 nicht berücksichtigt?
Eine VBA-Lösung werde/kann ich Dir nicht aufzeigen aber in Abhängigkeit von Deinen Antworten evtl. eine ohne VBA.
Gruß Werner
.. , - ...
Anzeige
AW: Makro um Daten wiederzugeben wenn Beding
08.06.2021 08:03:57
Verzweifelt
Hallo!
Versuche jetzt nochmal Verständlicher zu machen.
1. Es soll die Artikelnummer von Tabelle 1 (A2) in Tabelle Auslieferung gesucht werden (kleine Anmerkung: es sind normalerweise viel mehr Artikel)
2. Wenn der Artikel in Tabelle Auslieferung gefunden wurde soll folgende Berechnung geschehen
2.1 Bestand von Lager 1 (Spalte E2), soll von Auszuliefernde Menge (H3) abgezogen werden.
2.2 Wenn Ergebnis Positiv dann: Bestand Lager 1 (E2) - Auszuliefernde Menge 1 + 2 (H3 + H4)
--Das soll er solange machen bis das Ergebnis Negativ ist
3. Wenn Ergebnis Negativ Trage Datum (in diesem Bsp. wäre es B5) in Tabelle 1 Spalte P2 ein
Hoffe das war etwas verständlicher. Mit Sverweis geht es meiner Meinung nach nicht da er immer das erste Ergebnis nimmt.
Anzeige
AW: von SVERWEIS() war von mir nicht die Rede ...
08.06.2021 09:05:17
SVERWEIS()
Hallo,
... und meine Fragen sind auch nur z.T. beantwortet. Eine Datei mit ein paar mehr Daten wäre wohl auch hilfreich(er)
Gruß Werner
.. , - ...
AW: von SVERWEIS() war von mir nicht die Rede ...
08.06.2021 09:08:59
SVERWEIS()
Gebe ich dir Recht.
Weil ich weiß das es damit nicht klappt habe ich das nicht erwähnt. Daher habe ich versucht den in einen VBA unterzubringen. Ich schicke dir mal meinen Ansatz aber ich glaube halt der ist Falsch. :(

Sub Datum_Benoetigt()
Dim Datum As Range
Dim t As Long
'   Suchbereich        'Suchbegriff
Set Datum = Tabelle4.Columns(1).Find(what:=Tabelle1.Range("a2:a2000").Value, _
lookat:=xlWhole)
If Datum Is Nothing Then
MsgBox "Leider nichts gefunden"
Else
Tabelle1.Range("p2:p2000").Value = Tabelle4.Cells(Datum.Row, 2).Value
End If
End Sub
Wie ich die Berechnung zusätzlich da auch noch unterbringen soll, da stehe ich denn voll an.
Sry wenn ich manche Infos nicht mitgebe. ist mein erster Thread. Wenn du noch Daten brauchst sag einfach Bescheid.
Anzeige
AW: hast meine Fragen nicht beantwortet ...
08.06.2021 09:24:04
neopa
Hallo,
... und da ich mich nicht mit den VBA beschäftige, stell ich den thread deshalb auch wieder offen.
Ich suche zunächst immer nach Lösungen ohne VBA. Und solche gibt es in vielen Fällen und sicherlich auch hier. Doch Du siehst offensichtlich nur eine VBA -Lösung für Dich als geeignet an. Bin gespannt ob die VBA-Helfer ohne weitere Fragen nützlich sein können.
Gruß Werner
.. , - ...
AW: hast meine Fragen nicht beantwortet ...
08.06.2021 09:26:53
Verzweifelt
Wenn du eine Chance ohne VBA siehst nehme ich diese auch gerne an :)
AW: hast noch nicht alles gelesen owT
08.06.2021 11:18:27
neopa
Gruß Werner
.. , - ...
AW: hast noch nicht alles gelesen owT
08.06.2021 11:55:29
Verzweifelt
Hallo Wernder,
Erst einmal Danke für deine Geduld.
Antworten auf deine Fragen:
1. Lager1 steht immer in Spalte H (Tabelle Auslieferung)
2. Die sind nach Artikelnummer sortiert
3. Weil wenn er immer die Aufträge - Bestand rechnet er da ins negative geht (sprich ab da haben wir nicht mehr genug lagernd haben und nachproduzieren können)
4.Ja kann es
5. Spalte P ist richtig. Habe mich da verhauen; sry
6. Lager 1 = NEU; Lager 14 = Gebr. (Gebr. Mat. muss nicht berücksichtigt werden)
Im Anhang eine Excel mit mehr Daten (Habe die Tabellenblätter der Einfachheitshalber in Tabelle 1 und Tabelle 2 unbenannt)
Link: https://www.herber.de/bbs/user/146537.xlsx
Ich hoffe damit habe ich alle Fragen beantwortet.
Anzeige
AW: dann als Formellösung ...
08.06.2021 13:16:03
neopa
Hallo,
... z.B. so:
In Tabelle2!I2 folgende Formel: =WENN(A2="";0;WENN(ISTTEXT(B2);0;H2+I1)) und diese weit genug nach unten kopieren.
Dann in Tabelle1!P2:
=WENN(C2="Lager 1";WENNFEHLER(AGGREGAT(15;6;'Tabelle 2'!B$2:B99/('Tabelle 2'!A$2:A99=A2)/('Tabelle 2'!I$2:I99&gt=E2);1);"");"")
und diese weit genug nach unten kopieren.
Alternativ ohne VBA käme bei sehr viel auszuwertenden Datenmengen auch eine Power Query-Lösung in Betracht.
Gruß Werner
.. , - ...
AW: dann als Formellösung ...
08.06.2021 13:46:03
Verzweifelt
Hallo Werner!
Das klappt fast Super!
In der Beispiel Datei habe ich die Formel reinkopiert und hat gleich super geklappt.
Bei der Großen Excel stoße ich leider auf Probleme.
Folgende Unterschiede gibt es da:
Dort sind die Artikelnummer mit Bez. Bsp: "401 60 (AL-Element 270/60)"
und das bei Tabelle 2 statt Spalte I die Spalte U als Hilfspalte genommen wird.
Habe die Formel wir Folgt abgeändert:
Tabelle1:
=WENN(C2="Lager 1";WENNFEHLER(AGGREGAT(15;6;Auslieferung!B$2:B99/(Auslieferung!A$2:A99=A2) /(Auslieferung!U$2:U99>=E2);1);"");"")
Tabelle 2 (Auslieferung):
=WENN(A2="";0;WENN(ISTTEXT(B2);0;H2+U1))
Aber Top die Formel. Vllt. könntest du mir noch bei der Kleinigkeit helfen.
Anzeige
AW: vermutlich der Auswertungsbereich zu klein ...
08.06.2021 13:56:36
neopa
Hallo,
... und zwar der in der Formel von Tabelle1. Ersetze mal in der Formel die 99 durch z.B. 999 oder evtl. noch größer (aber möglichst nur auf das max wirklich notwendige vergrößern)
Gruß Werner
.. , - ...
AW: vermutlich der Auswertungsbereich zu klein ...
08.06.2021 14:01:40
Verzweifelt
Hallo!
Keine 24 Stunden und das Problem ist gelöst.
Vielen vielen dank!!!
Hätte nicht gedacht das man das in einer Formel lösen kann.
Da ich mich selbst auch ständig verbessern will: Könntest du mir die Formel einmal erklären? Gerade den Teil mit dem AGGREGAT.
Vielen Dank im Voraus!
Hoffe ich kann mich irgendwann mal revanchieren.
LG,
Andre
Anzeige
AW: bitteschön ...
08.06.2021 14:13:08
neopa
Hallo,
... und ja, ich könnte es erklären. Aber das erklären ist für mich.immer so zeitaufwendig. Und an Zeit mangelt es mir momentan gerade.
Sorry.
Gruß Werner
.. , - ...
Andere Formellösung
08.06.2021 14:31:19
Daniel
Hi
schau dir das mal an.
ist mit ein paar Hilfsspalten in Tabelle 2, aber dadurch vielleicht leichter verständlich und anzupassen.
Formeln müssen für größere Datenmengen nicht angepasst werden. Rechenzeit kann bei größeren Datenmengen ein Problem werden.
https://www.herber.de/bbs/user/146539.xlsx
die frage ist, warum in der zweiten Datei die Artikelliste in der Tabelle 1 nicht mehr eindeutig ist und mehrere Lager und eine Gesamtzeile vorkommen.
Das war in der ersten Beispieldatei nicht so.
Beachte bitte zukünftig, dass solche Sachen einen großen Einfluss auf die Formeln haben können, insbesondere die Eindeutigkeit von ID-Begriffen in einer Liste, oder "artfremde" Zwischenzeilen wie die Gesamtsumme.
sowas "passt" nicht in eine Tabelle und macht die Auswertung u.U. komplizierter, daher sowas immer bitte gleich mit angeben.
Vereinfachte Problemstellungen führen meist auch zu einfachen Lösungen, die dann nicht zum komplexen Problem passen und dann zu doppel-Arbeit führen, weil das Problem dann anders gelöst werden muss als in der vereinfachten Aufgabenstellung.
Wenn du für jeden Lösungsansatz bezahlen würdest, wäre das natürlich kein Problem, aber da du hier ja kostenfrei Hilfe erwartest, solltest du sowas vermeiden.
Gruß Daniel
Gruß Daniel
Anzeige
AW: Andere Formellösung
08.06.2021 14:41:58
Verzweifelt
Hallo Daniel!
Werde es für das nächste Mal beachten.
War mein erster Beitrag, verspreche aber Besserung zu geloben (:
AW: Andere Formellösung
08.06.2021 16:38:56
Daniel
gut, aber das wichtigste, wie gefällt dir mein Lösungsansatz (der jetzt ja auch für die komplexeren Listen funktioniert, da ich jetzt erst eingestiegen bin)?
Gruß Daniel
AW: Andere Formellösung
08.06.2021 16:41:32
Verzweifelt
Habe den Ansatz bis jetzt nur Überflogen.
Habe jetzt erstmal die Lösung von Werner eingebaut.
Deinen Ansatz werde ich mir aber noch zu Gemüte führen und denn eventuell umstellen.
Bis jetzt funktioniert die Formel von Werner aber gut. :)
Trotzdem vielen Dank!

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige