Eine Excel-Liste automatich generieren lassen

Hallo,
ich habe ein kleines Problem beim Erstellen einer Excel Tabelle.

Ich möchte gerne einen Wert (Artikelnummer) in A1  und einen Zahl (Anzahl) in B1 eintragen. Anschliessend soll der Wert (A1) in Spalte C gesucht werden, um zu verhindern, dass dieser dort bereits vorhanden ist, sollte dies der Fall sein, so soll das Feld A1 von mir aus Rot werden.
Aber: sollte dieser Wert noch nicht vorhanden sein, so möchte ich diesen Wert & Anzahl (A1 und B1) in der Spalte C und D (entweder ganz unten am ende der bestehenden Werte / oder in Chronologischer reinfolge) eingetragen haben.
Also eine Tabelle automatisch Stück für Stück generieren.

Das ganze dient dazu, dass ich eine Inventur unserer Artikel in Excel eintragen möchte.
Unsere Artikel haben mehrere Lagerorte, und ich erhalte dadurch auf den „Zähllisten“ oftmals Artikel, die bereits auf anderen Listen stehen.
Wenn ich diese jetzt nacheinander eintrage, hätte ich sehr viele mehrfach.

Ein Traum wäre natürlich, wenn der Wert als bereits vorhanden erkannt wird, das die Anzahl B1 automatisch auf die Zelle D aufaddiert wird, aber das wäre dann wohl etwas viel verlangt…

Für eure Hilfe bin ich sehr dankbar.

Es ist äusserst mühsam, dass es hier ständig Fragen zu Excel gibt, die völlig am Rande von den Möglichkeiten des Programmes stehen.

Das was Du da machen willst ist keine Anwendung für Excel, sondern für ein spezielles Programm oder für eine Datenbank.

Ich will jetzt nicht behaupten, dass man das nicht mit VBA realisieren könnte, aber sinnvoll ist so etwas nicht und wenn Du nicht selbst über die nötigen Programmier-Kenntnise verfügst, dann ist so etwas, sowieso nicht zu realisieren. 

Wer-weiss-was ist nicht dafür da, dass man den Leuten, komplexe Programmierarbeiten abnimmt, oder sie in ihrem Wahn bestärkt aus einem Kalkulationsprogramm eine komplexe Datenbankanwendung zu basteln, die dann sowieso nie rihtig laufen wird. . 

Hallo Cayrix,

ich denke, ich würde es anders angehen.

Wenn du die Artikelnummern und die Zahl als Excel-Datei erhältst, dann alle Listen untereinander in eine Tabelle kopieren (ansonsten halt abtippen). (Spalte A Artikelnummern, Spalte B Anzahl)

Dann die Artikelnummern in ein neues Tabellenblatt kopieren (Spalte A) und alle Duplikate entfernen lassen (wenn du nicht weißt, wie das geht, dann schreib deine Excel-Version und jemand erklärt es dir sicher). Nach Lust und Laune kann die Liste dann noch sortiert werden.

Und dann mit =SUMMENPRODUKT((A1=Tabelle1!A:A)*(Tabelle1!B:B)) alle Werte für die einzelnen Artikel summieren lassen.

Vielleicht hilft es :smile:

Viele Grüße
Karin

Hallo Cayrix,

ich habe dir mal ein bisschen Code geschrieben. Kennst du dich mit dem VBA Editor etwas aus? Wenn ja:
Kopiere folgenden Code in den Codebereich deines Tabellenblattes:

Private Sub Worksheet\_Change(ByVal Target As Range)
 If Not Intersect(Range("A1:B1"), Target) Is Nothing And \_
 Not IsEmpty(Range("A1")) And \_
 Val(Range("B1")) \> 0 Then inventur
End Sub

Und folgenden Code in ein neues Modul:

Option Explicit

Sub inventur()
 Dim nächste As Long
 Dim vorhanden As Range

 Application.EnableEvents = False
 With ActiveSheet
 Set vorhanden = .Range("C:C").Find(what:=.Range("A1"), lookat:=xlWhole, MatchCase:=False)
 If vorhanden Is Nothing Then
 .Range("A1").Interior.Pattern = xlNone
 nächste = .Cells(.Rows.Count, 3).End(xlUp).Row + 1
 .Range("A1:B1").Copy Destination:=.Range("C" & nächste)
 Else
 .Range("A1").Interior.Color = 255
 .Range("D" & vorhanden.Row) = .Range("D" & vorhanden.Row) + .Range("B1")
 End If
 Set vorhanden = Nothing
 End With
 Application.EnableEvents = True
End Sub

Wenn du jetzt in A1 eine Artikelnummer und in B1 eine Anzahl einträgst, schaut das Makro, ob es die Artikelnummer schon in Spalte C gibt. Wenn ja, wird A1 rot gefärbt und die Stückzahl wird in Spalte D aufaddiert.
Gibt es die Artikelnummer noch nicht, wird sie unten in Spalte c geschrieben und danaben in Spalte D die Anzahl.
ich hoffe, das ist so in etwa das, was du wolltest.
Wenn dir der VBA Editor ein Rätsel ist, melde dich wieder. Dann machen wir eine Schritt-für-Schritt Anleitung.

Gruß, Andreas

Ohne VBA und ohne acess (denn, es ist richtig, dass dies grundsätzlich eher Sache für eine Datenbankanwendung ist, und nicht eine Tabellenkalkulationsaufgabe)

Alle Artikel mit allen Lagerorten „abpinnen“ (ergibt zwei Spalten) - ich weiß nicht, woher hier Bestände kommen - wenn diese beim Zählen erst eingegeben werden, ist das Problem hinfällig - und eine Spalte für Bestand
anschließend sortieren - hier werden dann Artikel doppelt und dreifach auftauchen, aber mit Nennung des Lagerortes.
Anschließend hieraus die Zähllisten generieren - doppelte Artikel stören hier nicht, denn es muss eh für jeden Lagerort seperat gezählt werden.

Wenn umgekehrt die Liste nicht nach Artikel, sondern Lagerort generiert wird, macht auch das nichts - denn den Eintrag mache ich ebenfalls seperat pro Artikel pro Ort

der Rest ist dann einfaches Summieren  „komfortabel“ über eine Summewenn mit Argument Artikel (kopiert ohne Dubletten) mit Ergebnis in Spalte B einer neuen Liste/Blatt

Hallo Cayrix,

ein Problem, viele Lösungsansätze, daher will ich hier auch mitmischen. Ich schreibe meine Antworten so, wie Du gefragt hast. Daran erkennst Du hoffentlich, dass es mehr hilft erst zu erklären, was Du machen willst und dann mit Deinem Lösungsvorschlag kommst. Dann ist es für den Leser einfacher zu verstehen, warum Du dieses Problem hast.

Ich möchte gerne einen Wert (Artikelnummer) in A1  und einen
Zahl (Anzahl) in B1 eintragen. Anschliessend soll der Wert
(A1) in Spalte C gesucht werden, um zu verhindern, dass dieser
dort bereits vorhanden ist, sollte dies der Fall sein, so soll
das Feld A1 von mir aus Rot werden.

Ich lasse erst einmal die Spalte C werg, die kommt unten.
Soll in Spalte A jeder Wert nur einmal vorkommen? Dann kannst Du über eine Hilfsspalte Dir anzeigen lassen, wie häufig Dein eingetragener Wert in der Spalte vorkommt (ZÄHLENWENN). Diese Formel kannst Du auch in eine bedingte Formatierung eingeben und dann den Wert farbig markieren (und den zweiter gleichen Eintrag gleich mit.

Aber: sollte dieser Wert noch nicht vorhanden sein, so möchte
ich diesen Wert & Anzahl (A1 und B1) in der Spalte C und D
(entweder ganz unten am ende der bestehenden Werte / oder in
Chronologischer reinfolge) eingetragen haben.
Also eine Tabelle automatisch Stück für Stück generieren.

Wenn Du keine doppelten Werte in A und C haben möchtest, dann entsprechen C und D genau den Spalten A und B. Da Du bestimmt die Werte auch chronologisch einträgst, sind die Einträge in A bereits chronologisch sortiert.
Wenn die Werte in A auch mehrfach auftreten können, kannst Du Dir die Spalte C über „Duplikate entfernen“ erzeugen und dann per SVERWEIS den ersten Wert aus Spalte B holen (Warnung, dies kann bei langen Listen länger dauern).

Das ganze dient dazu, dass ich eine Inventur unserer Artikel
in Excel eintragen möchte.
Unsere Artikel haben mehrere Lagerorte, und ich erhalte
dadurch auf den „Zähllisten“ oftmals Artikel, die bereits auf
anderen Listen stehen.
Wenn ich diese jetzt nacheinander eintrage, hätte ich sehr
viele mehrfach.
Ein Traum wäre natürlich, wenn der Wert als bereits vorhanden
erkannt wird, das die Anzahl B1 automatisch auf die Zelle D
aufaddiert wird, aber das wäre dann wohl etwas viel
verlangt…

Das ist jetzt ein ziemlich anderes Problem als oben beschrieben und Excel bietet diese Funktion von Haus aus mit. Erstelle einfach die Spalten A und B durch Eintragen nacheinander, anschließend erstelle einen PivotBericht (in Tabellenform). Darin kannst Du pro Artikel [Wert in Spalte A] (egal ob ein- oder mehrfach eingetragen) die Summe der Zahlen in B [Anzahl] ausgeben lassen und auch automatisch die Werte sortieren. Zusätzlich kannst Du auch die Anzahl der Einträge eines Artikels in A zählen um zu schauen, in wie vielen Lagerorten dieser Artikel ist. Und Du kannst in Spalte C den Lagerort eintragen und dann sogar in Tabellenform die Summe einzeln pro Artikel und Lagerort mit ausgeben lassen.
Wenn Du einen PivotBericht erzeugst, brauchst Du nicht mit Hilfsspalten zu arbeiten, Dein obiges Vorgehen benötigst Du daher nicht.

Viele Grüße
diether