Clever-Excel-Forum

Normale Version: Bestellverwaltung in Excel
Du siehst gerade eine vereinfachte Darstellung unserer Inhalte. Normale Ansicht mit richtiger Formatierung.
Hallo Leute,



ich verzweifele derzeit an einer Formel in Excel bezüglich einer Bestellungsverwaltung. In unserem Lager hat jedes Produkt eine individuelle Seriennummer und jede Bestellung ist mit einer Rechnungsnummer versehen.

Die Artikel sind in einem Tabellenblatt (siehe Beispielbild) mit Seriennummer und allen anderen nötigen Informationen eingepflegt. Die Bestellungsverwaltung befindet sich in einem anderen Tabellenblatt (siehe Beispielbild), wo bei einer neuen Bestellung der entsprechende Eintrag mit der zugehörigen Rechnungsnummer manuell erstellt wird. In der Spalte der Rechnungsnummer werden dann die Seriennummern der Artikel eingetragen, die in der Bestellung enthalten sind. Dies funktioniert soweit gut.

Jetzt soll Excel bei den einzelnen Artikeln automatisch die Rechnungsnummer eintragen, wenn diese einer Bestellung zugeordnet wurden. Dies funktioniert nur solange ich mich auf eine Spalte der Seriennummern beziehe, zum Beispiel Seriennummer 1. Sobald also mehr als ein Artikel in der Bestellung enthalten ist, habe ich keine Formel gefunden, die dies ermöglicht. Unten befinden sich zwei Beispielbiloder, wie das ganze am Ende aussehen sollte.



Vielleicht hat ja jemand eine Idee wie die passende Formel aussehen könnte, oder kennt einen anderen Weg zum Ziel.

Ich würde mich sehr freuen, wenn mir jemand weiterhelfen könnte!

Vielen Dank im Voraus!



MfG

Karsten
Hi Karsten
Deien Verzweiflung hat ein Ende. Folgender Code sollte das erledigen.

Code:
Sub Karsten()
   Dim a As Range, b As Range, c As Long, i As Long, j As Long
  
   'Diese beiden Zeilen anpassen:
   Set a = Worksheets("Artikel").Range("B4").CurrentRegion
   Set b = Worksheets("Bestellung").Range("C8").CurrentRegion
  
   c = a.Rows.Count
   For i = 2 To b.Rows.Count
      For j = 2 To b.Columns.Count
         If b(i, j) <> "" Then
            c = c + 1
            a(c, 1) = b(i, 1)
            a(c, 2) = b(i, j)
         End If
      Next j
   Next i
End Sub

Füge den Code in ein allgemeines Modul ein. Mit Alt+F11 kommst Du in den VBA-Editor.

Von Deinen Tabellen sind die jeweils ersten Zellen von Dir im Code einzutragen, also jeweils die links obere Ecke. Da Dein Bildbeispiel keine Zellenkoordinaten zeigt, musst Du es selbst machen.

Schöne Grüße, Raoul
Hi Karsten

Zitat:Ich würde mich sehr freuen, wenn mir jemand weiterhelfen könnte!


Würde mich gerne mit Dir mitfreuen. Konnte ich weiterhelfen?


Gruss, Raoul