Min Wert ausgeben in Abhängigkeit von einem Zellwe

Hallo zusammen,

ich habe ein Problem mit einer Stückliste. Ich habe eine Stückliste in der in Spalte B die Artikelnummern stehen. Zu diesen Artikelnummern stehen in der Spalte H die Verpackungsmaterialien mit Materialnummern und in Spalte L der Lagerbestand. Ich muss nun in einer anderen Liste in Spalte K immer das Verpackungsmaterial mit dem kleinsten Lagerbestand, welcher dann nur als Zahl in der Liste erscheinen soll, zu jedem Fertigartikel auslesen.
Leider gibt es in dieser Spalte keine Artikelnummern. Die Liste beinhaltet nur die Fertigartikelnummern in Spalte B, die sich mit den Artikelnummern aus der Stückliste aus Spalte B decken. Außerdem kommen die Fertigartikel mit den dazugehörigen Verpackungsmaterialien mehrmals in der Stückliste vor.

Kann mir irgentjemand helfen, damit ich nicht immer händisch zu jedem Fertigartikel die Verpackungsmaterialien prüfen und dann immer den kleinsten Lagerbestand in meine Liste eintragen muss.

Vielen Dank schon einmal im voraus.

LG Martina

Hallo Martina

Deine Angaben sind etwas verwirrend. Ich versuche mal wiederzugeben, was ich glaube, verstanden zu haben:

Stückliste
Spalte B: Artikelnummern
Spalte H: Verpackungsmaterialnummern zu den Artikelnummern
Spalte L: Lagerbestände zu Verpackungsmaterialnummern (bzw. Artikelnummern)

Lagerbestandsliste
Spalte B: Artikelnummern
Spalte K: Lagerbestände zu Artikelnummern (bzw. zu Verpackungsmaterialnummern)

Stimmt das?

smalbop

Hallo smalbop,

ja das ist genau richtig so. Ich muss in der zweiten Liste, Warenbewegungsprotokoll immer zu jedem Artikel den Lagerbestand des Verpackungsmittel mit dem gerinsten Bestand angeben. In der Stückliste stehen zu allen Fertigartikel die dazugehörigen Verpackungsmittel, was auch der Grund ist, warum die meisten öfter vorkommen.

Ich hoffe, Du kannst mir helfen. Ich habe zwar schon ein paar Makros geschrieben, habe aber leider keine Ahnung in der Anwendung von Min und Max.

LG Martina

Hallo Martina

ja das ist genau richtig so. Ich muss in der zweiten Liste,
Warenbewegungsprotokoll immer zu jedem Artikel den
Lagerbestand des Verpackungsmittel mit dem gerinsten Bestand
angeben. In der Stückliste stehen zu allen Fertigartikel die
dazugehörigen Verpackungsmittel, was auch der Grund ist, warum
die meisten öfter vorkommen.

Ich hoffe, Du kannst mir helfen. Ich habe zwar schon ein paar
Makros geschrieben, habe aber leider keine Ahnung in der
Anwendung von Min und Max.

Das kann ich sicher, falls es nicht sogar mit Formeln geht. Aber ich mache Arbeiten ungern mehrfach, weil die Aufgabenstellung am Anfang nicht klar genug beschrieben war. Ich verstehe nach wie vor nicht: Hat jede Artikelnummer ihre eigene, spezielle nur bei ihr vorkommende Verpackung oder gibt es verschiedene Artikel, die gleichartig verpackt werden oder gleiche Artikel, die unterschiedlich verpackt werden? Und so oder so ist unklar, was mir die „Verpackung mit dem niedrigsten Lagerbestand“ sagen soll. Wenn verschiedene Verpackungsarten gegeben sind, hat jede nur einen einzigen Lagerbestand. Und wenn ein Artikel nur eine bestimmte Verpackung haben kann, ist der Lagerbestand dieser Verpackung doch in der anderen Tabelle vordefiniert, da braucht man nichts rauszusuchen…

Du siehst: Ich frage als Nichtfachmann für Produktions- und Verpackungslogistik so lange nach, bis der Experte versteht, dass ich seine vielleicht ihm selbstverständliche tägliche Arbeit nicht kenne und er mir sein Problem folglich allgemeinverständlich erklärt.

Gruß
smalbop

Hallo smalbop,

zuerst einmal möchte ich mich entschuldigen, aber ich bin leider nicht der größte Erklärer. Ich versuche es noch einmal von vorne.

Ich habe eine Datei mit mehreren Tabellenblättern. Eins davon heißt Stückliste. In dieser sind Fertigartikel, mit den dazugehörigen Artikelnummern in Spalte B, enthalten und zu jedem Fertigartikel werden die Verpackungsmaterialien, wie z.B: Tuben, Deckel, Flaschen ect., aufgeführt, dazugehörige Artikelnummern in Spalte H. Die Artikelnummer der Fertigartikel wiederholt sich sooft, wie es Positionen (Zeilen) für das Verpackungsmaterial gibt. Verschiedene Artikel können die gleichen Verpackungsmaterialien haben. In Spalte L steht der Lagerbestand der Verpackungsmaterialien.
Dann habe ich ein Tabellenblatt, dass heißt Warenbewegungsprotokoll. In diesem stehen die selben Fertigartikel wie in der Stückliste, Artikelnummern in Spalte B. Ich muss nun in dieser Tabelle zu jedem Fertigartikel in Spalte K den Lagerbestand des Verpackungsmittels mit dem kleinsten Lagerbestand aus der Stückliste eintragen.

Da es sich um mehrere Kunden handelt, kommen die Fertigartikel doppelt und dreifach vor. Mehrere Artikel können die gleichen Verpackungsmaterialien haben. Erschwerend kommt hinzu, dass ich zwar die Fertigartikelnummern im Warenbewegungsprotokoll habe, aber da ich ja nie weiß, welches Verpackungsmaterial den geringsten Lagerbestand hat, keine Materialnummern für das Verpackungsmaterial habe, sondern in der Spalte K nur den geringsten Bestand in Zahlen ausweisen muss ohne Artikelbezeichnung.

Wenn Du möchtest und Du mir erklärst, wie das geht, kann ich eine Beispieldatei hoch laden…

Schon einmal vielen Dank für Deine Geduld mit mir.

LG Martina

Hallo martina,

zuerst einmal möchte ich mich entschuldigen, aber ich bin
leider nicht der größte Erklärer.

kein Akt, wer kann das schon gut, die wenigsten. Ich auch nicht gut.

Wenn Du möchtest und Du mir erklärst, wie das geht, kann ich
eine Beispieldatei hoch laden…

Das ist einfach, nimm rapidshare oder ähnlich, siehe FAQ:2606

Und sorry, hab grad hier während des Schreibens länger telefoniert, weiß grad nicht was du eigentlich wolltest, jedenfalls, wenn es etwas sein soll was dann später Formeln machen sollen oder Vba, dann mache das in den Tabellen manuell und kennzeihne diese zellen farblich, sodaß man leicht sieht wo die Formeln hinmüssen und welches Ergebnis sie bringen sollen.

Gruß
Reinhard

Hallo Reinhard,

hier der Link für meine Beispieldatei:

http://www.file-upload.net/download-2831058/Datei-f-…

Ich hoffe, ich habe es richtig gemacht und Du kannst damit etwas anfangen. Die Erklärung dazu habe ich ja oben schon abgegeben. Wenn Du noch Fragen hast, bitte jederzeit, da ein Makro oder auch eine Formel mir jeden Monat sehr viel Arbeit ersparen würde.

Vielen Dank und lg
Martina

Hallo Martina,

am Mittwoch kann ich mich drum kümmern.

Gruß
smalbop

Hallo smalbop,

schon einmal vielen Dank für die nette Ankündigung. Ich hoffe, ich habe es nun mittlerweile einigermaßen verständlich erklärt. Es wäre mir eine große Hilfe, wenn das Problem mit Formeln oder besser noch mit VBA zu lösen wäre.

LG Martina

schon einmal vielen Dank für die nette Ankündigung. Ich hoffe,
ich habe es nun mittlerweile einigermaßen verständlich
erklärt. Es wäre mir eine große Hilfe, wenn das Problem mit
Formeln oder besser noch mit VBA zu lösen wäre.

Hallo Martina,

ich habe es probiert, kriege aber nix gebacken.
Lade bitte die Mappe nochmal hoch, blende aber alle Spalten aus die ich/wir nicht brauchen.

Dann füllst du manuell die Zielzellen wie gewohnt aus, markierst aber farblich die dazugehörigen Quellzellen und Suchzellen.

Angenommen in W!K9 soll eine Zahl rein, dann schreib die rein.
Markiere dann W!B9, das hat ja den Wert 100091, alsowohl eine Artikelnummer.
So, im Blatt V sieht man nun in B Artikelnummern, die 100091 mehrfach, markiere dann die gewählte B-Zelle und auch die Zellen(zelle in der gleichen zeile die dann in W!K9 erscheinen sokk

Vielleicht blick ich so durch was du da machen willst :smile:

Gruß
Reinhard

Ja, ein Flussdiagramm des Arbeitsablaufs wäre sicher weit einfacher zu verstehen als alle Erklärungen.

Ich habe ja den Verdacht, dass das ganze eigentlich easy ist, wenn man erst mal dahinter gestiegen ist…

s.

Wie Fragen stellen zu einem Excel Problem
@Smalbop,

Ja, ein Flussdiagramm des Arbeitsablaufs wäre sicher weit
einfacher zu verstehen als alle Erklärungen.

ja, ist oft so. Die Erklärungen sind sicher alle richtig, aber verstehen werde ich sie (wie immer) erst richtig wenn ich eine Lösung sehe oder ein Flußdiagramm, Vorgehensablaufplan bei manuellem Auswerten usw.

Ich habe ja den Verdacht, dass das ganze eigentlich easy ist,
wenn man erst mal dahinter gestiegen ist…

Das vermute ich auch stark.

@Martina, aber natürlich nicht nur.
Im Nachfolgenden mal ein Kommentar von Peter dazu.

Gruß
Reinhard

Wie stelle ich eine Frage?

Eine Frage gut zu stellen, ist die halbe Miete der Antwort.

Zuerst löst du deine Frage aus deinem Projekt heraus und reduzierst
diese auf dein eigentliches Problem.

Bsp.:
Du hast eine Lagerverwaltung, in denen du Tierfutter verwaltest. In
dieser werden Berechnungen durchgeführt, wieviel wo was vorhanden ist.

In einem Tabellenblatt Artikelliste hast du in Spalte G die
Artikelnummern stehen und in Spalte H die Futtermittelnamen.

Nun möchtest du in einer Tabelle Futterkontrolle bei Eingabe in der
Zelle C114 einer Artikelnummer in Zelle D114 den Futternamen haben.

95 % sind überflüssig

Fast alles davon interessiert für das eigentliche Problem überhaupt
nicht.
Keinen Menschen interessiert es, wie die Tabellenblätter heißen,
wofür du das brauchst und überhaupt.

Dein losgelöstes Problem lautet: Wie finde ich zu der Nummer den
Artikel und zwar in einem anderen Tabellenblatt.

Du machst nun ein allgemeinverständliches Beispiel und zwar mit
Standardzellpositionen und Standardtabellennamen.
Alles andere läßt du weg, also:

Die Frage:

In Tabelle1 habe ich in Spalte A Nummern und in B daneben
Bezeichnungen.
Nun möchte ich gerne in Tabelle2 in Zelle A1 die Nummer eingeben
können und in Zelle B1 soll dann die Bezeichnung erscheinen.

Du siehst, ganz einfach und für jeden verständlich.

Und dann die Frage dazu:
Welche Formel muss ich in Zelle B1 von Tabelle2 eintragen,
damit, wenn ich in A1 z.B. die Nummer 2 schreibe, Katze herauskommt.

Schlussbemerkung:

Die Antwort, die du dann erhälst, musst du dann an dein Projekt
anpassen.
Dies wird dir am Anfang etwas Mühe bereiten aber du lernst dabei auch
die Lösung zu verstehen.

Und ganz nebenbei: Viele Lösungen wirst du schon selbst dir
erarbeiten können, wenn du das Problem mal isoliert hast!

Quelle: http://www.online-excel.de/fom/butout.php?f=1&b=3

Hallo an alle,

ich denke ihr habt Recht, aber wenn man davor sitzt, ist es leider manchmal nicht so einfach auf das naheliegenste zu kommen. Vielleicht bin ich auch einfach ein Umstandskrämer. Werde mir beim nächsten Mal mehr Mühe geben. Habe die Datei bearbeitet und nochmal hochgeladen. Hier der Link:
http://rapidshare.com/files/420322687/Datei-fuer-Mak…

LG und vielen Dank weiterhin für Euer Verständnis
Martina

Grpüezi Martina

ich habe ein Problem mit einer Stückliste. Ich habe eine
Stückliste in der in Spalte B die Artikelnummern stehen. Zu
diesen Artikelnummern stehen in der Spalte H die
Verpackungsmaterialien mit Materialnummern und in Spalte L
der Lagerbestand. Ich muss nun in einer anderen Liste in
Spalte K immer das Verpackungsmaterial mit dem kleinsten
Lagerbestand, welcher dann nur als Zahl in der Liste
erscheinen soll, zu jedem Fertigartikel auslesen.

Kann mir irgentjemand helfen, damit ich nicht immer händisch
zu jedem Fertigartikel die Verpackungsmaterialien prüfen und
dann immer den kleinsten Lagerbestand in meine Liste eintragen
muss.

Hmmm, warum soll/muss das mit einem VBA-Makro geschehen?

Ich denke dass genau dazu deie Pivot-Tabelle das Mittel der Wahl ist - schau dir dazu die folgende Mappe mal näher an, da habe ich dir eine solche eingefügt:

http://users.quick-line.ch/ramel/Demo-Daten/tr_Datei…

Mit freundlichen Grüssen

Thomas Ramel

  • MVP für MS-Excel -

Hallo Martina,

jetzt verstehe ich es, glaube ich. :smile:

Nur noch eine Frage zum Ablauf: Bekommst du die Verpackungsmaterial-Tabelle beigestellt und musst nur die Warenbewegungsprotokoll-Tabelle pflegen? Das heißt, dort SAP-Nummer in Sp. B eintragen und Spalte K füllt sich dann aufgrund der Daten aus der Verpackungsmaterial-Tabelle „von allein“? Das wäre in der Tat sehr einfach. Du musst dazu nur die nachfolgende Routine in deinen Tabellenblattcode „Warenbewegungsprotokoll“ einfügen. Das meiste sind Kommentare. Damit du es leicht selber anpassen kannst, habe ich für die Tabellennamen „Klarnamen“ verwendet. Das ganze ist „quick and dirty“ und sicher nicht laufzeitoptimiert oder superelegant, aber es funktioniert.

Gruß
smalbop

Private Sub Worksheet\_Change(ByVal Target As Range)
 'Target ist Zelle mit geänderter SAP-Nummer
 Dim i As Long 'Zählvariabe für Tabellenzeilen
 Dim j As Long 'Zählvariabe für Tabellenzeilen
 Dim Anz As Long 'Übergabevariable für Minimalbestand
 'Wenn im aktiven Blatt 2. Spalte (B) ab 8. Zeile verändert wird
 If Target.Column = 2 And Target.Row \> 7 Then
 'Tabelle Verpackungsmat, 2. Spalte (B) wird durchsucht
 'auf Übereinstimmung mit Target-Wert
 With Worksheets("Verpackungsmaterial")
 i = 1
 Do
 'Nächste Zeilennummer
 i = i + 1
 'Wenn Übereinstimmung
 If .Cells(i, 2) = Target Then
 'wird der Wert der 12. Spalte (L) der
 'Variablen Anz zugewiesen, sofern der in
 'Anz bereits vorhand. Wert nicht kleiner ist

 'Hat Anz noch den Wert Null (1. Schleife)
 'wird zunächst der erste Lagerbestand zugewiesen
 If Anz = 0 Then
 Anz = .Cells(i, 12)
 End If

 If .Cells(i, 12) Target Then
 Exit Do
 End If

 End If
 Loop
 End With
 'In aktiver Tabelle wird in der 9. Spalte rechts neben
 'Spalte B (=K) der gefundene Minimalwert Anz eingetragen
 Target.Offset(0, 9) = Anz
 End If
End Sub

Hallo Martina,

jetzt verstehe ich es, glaube ich. :smile:

Nur noch eine Frage zum Ablauf: Bekommst du die
Verpackungsmaterial-Tabelle beigestellt und musst nur die
Warenbewegungsprotokoll-Tabelle pflegen? Das heißt, dort
SAP-Nummer in Sp. B eintragen und Spalte K füllt sich dann
aufgrund der Daten aus der Verpackungsmaterial-Tabelle „von
allein“? Das wäre in der Tat sehr einfach. Du musst dazu nur
die nachfolgende Routine in deinen Tabellenblattcode
„Warenbewegungsprotokoll“ einfügen. Das meiste sind
Kommentare. Damit du es leicht selber anpassen kannst, habe
ich für die Tabellennamen „Klarnamen“ verwendet. Das ganze ist
„quick and dirty“ und sicher nicht laufzeitoptimiert oder
superelegant, aber es funktioniert.

Gruß
smalbop

Private Sub Worksheet_Change(ByVal Target As Range)
'Target ist Zelle mit geänderter SAP-Nummer
Dim i As Long 'Zählvariabe für Tabellenzeilen
Dim j As Long 'Zählvariabe für Tabellenzeilen
Dim Anz As Long 'Übergabevariable für Minimalbestand
'Wenn im aktiven Blatt 2. Spalte (B) ab 8. Zeile verändert
wird
If Target.Column = 2 And Target.Row > 7 Then
'Tabelle Verpackungsmat, 2. Spalte (B) wird durchsucht
'auf Übereinstimmung mit Target-Wert
With Worksheets(„Verpackungsmaterial“)
i = 1
Do
'Nächste Zeilennummer
i = i + 1
'Wenn Übereinstimmung
If .Cells(i, 2) = Target Then
'wird der Wert der 12. Spalte (L) der
'Variablen Anz zugewiesen, sofern der in
'Anz bereits vorhand. Wert nicht kleiner ist

'Hat Anz noch den Wert Null (1. Schleife)
'wird zunächst der erste Lagerbestand zugewiesen
If Anz = 0 Then
Anz = .Cells(i, 12)
End If

If .Cells(i, 12) Target Then
Exit Do
End If

End If
Loop
End With
'In aktiver Tabelle wird in der 9. Spalte rechts neben
'Spalte B (=K) der gefundene Minimalwert Anz eingetragen
Target.Offset(0, 9) = Anz
End If
End Sub

Hallo smalbop,

erstmal vielen Dank für Deine Hilfe, aber ich glaube, ich bin zu blöd. Leider bringe ich die Routine nicht zum laufen. Ich habe es als neues Modul eingefügt, aber leider tut sich nichts. Bitte hilf mir auf die Sprünge, wahrscheinlich mache ich einen Denkfehler und bekomme es deshalb nicht zum laufen.

Ich habe übrigens das Warenbewegungsprotokoll als Tabelle fertig und muss nur jeden Monat die Verpackungsmaterialien ect…, die ich als Exceltabelle aus unserem Warenwirtschaftssytem ziehe, eintragen. Das Ganze wird, bis auf meine Anfrage hier, mittels eines Makros verarbeitet.

LG Martina

Hallo Martina

…nicht als Modulcode einfügen, sondern in den Tabellenblattcode!

[Alt] + [F11] öffnet den VBA-Editor, darin in die Ansicht „Projektexplorer“ gehen, auf die Tabelle „Warenbewegungsprot.“ klicken und Code ins sich öffnende Fenster kopieren. (Die Module sind weiter unten im Explorer zu finden!) So funktioniert es jedenfalls noch bei Excel 2003.

Und da das Programm abstürzt, wenn die eingegebene SAP-Nummer in der anderen Tab. nicht vorkommt, z. B. wegen Tippfehler, kannst du noch hinter der Variablendeklaration die Zeile

On Error End

einbauen.

So, ich muss jetzt erst mal ins Schwimmbad und kann mich erst abends wieder melden. :smile:

Gruß
smalbop

Hallo smalbop,

ich schon wieder. Ich hoffe, es war schön im Schwimmbad.

So etwas habe ich noch nie gemacht. Wie bekomme ich das Programm denn zum Laufen? Und wo genau muss ich On Error End einfügen. Wenn ich es nach der Variablendeklination einfüge, bekomme ich immer die Fehlermeldung: Fehler beim Kompilieren: Erwarte GoTo oder Resume.

LG Martina

Hallo Martina,

ich schon wieder.

du darfst :smile: nettigkeit wird hier belohnt.

So etwas habe ich noch nie gemacht. Wie bekomme ich das
Programm denn zum Laufen? Und wo genau muss ich On Error End
einfügen. Wenn ich es nach der Variablendeklination einfüge,
bekomme ich immer die Fehlermeldung: Fehler beim Kompilieren:
Erwarte GoTo oder Resume.

Ich glaub, da war jemand schon geistig sehr im Schwimmbad bei der Person mit der er sich trifft *denk* *kicher*

Nein, On Error Goto End kannste vergessen.

Zumindest in Excel 2000 gibt es nur:
On Error GoTo Zeile
On Error Resume Next
On Error GoTo 0

Goto 0 bedeutet, der nächste Feler wird wieder „bestraft“.
Resume Next bedeutet, egal welcher Fehler, an der nächsten Codezeile geht es weiter.

Goto Zeile, wahrscheinlich war das gemeint, dann kann man anfangs des Codes schon schreiben On Error Goto End

Dann muß aber auch, meist unten um Code, stehen:

End

Irgendwie glaub ich ich habe dich evtl. noch mehr verwirrt.
Mal was anderes, Thomas hat dir doch eine Pivotlösung gezeigt, klappt das nicht oder willste das nicht?

Dann hätte ich eine Bitte, ich hab grad Probleme mit rapidshare und kann deine mappe nicht runterladen.
Magst du sie noch mal hochladen, mit dieser fileupload oder sonstiger Adresse?
Also die Mappe wo ich erbeten habe alles unwichtige auszublenden usw.
Sorry für Umstände die ich amche :frowning:

Gruß
Reinhard

Hallo Reinhard,

die vorgeschlagene Pivotlösung geht leider nicht, da ich das vorgegebene Layout verwenden muss. Die Tabellen stehen alle fest und die Daten werden aus HTML Dateien nur immer wieder neu eingelesen. Im Warenbewegungsprotokoll werden die meisten Daten über Formeln eingelesen. Ich kann es nur leider nicht bei der Verpackung. Da liegt ja mein Problem.

Ich habe die Datei noch einmal hochgeladen, und hoffe, Du kannst mir weiterhelfen. Eine Formel würde mir ja auch genügen. Ich kann es nur leider nicht… :frowning:
Hier der Link:

http://www.file-upload.net/download-2838407/Datei-f-…

LG Martina