Supportnet / Forum / Tabellenkalkulation
Artikelnummer/groeße/Menge neu anordnen
Frage
Hallo Forum, ich lese hier öfter mal mit, möchte aber jetzt auch mal eine etwas ausergewöhnliche Frage stellen.
Ich arbeite in einem Mittelständischen unternehmen, und habe folgendes Problem ich möchte mit einem CUT in SAP etwas einspielen. Zurzeit liegt mir folgendes Format vor:
Material | Größe | Menge
1000123 | 23 | 3
1000123 | 24 | 4
1111111 | 1 | 5
1111111 | 2 |10
1111111 | 3 | 11
Um einen Cut einzuspielen benötige ich folgendes Format
Material |Größe | Menge | Größe | Menge | Größe | Menge
1000123 | 23 | 3 | 24 | 4 | |
1111111 | 1 | 5 | 2 | 10 | 3 | 11
Ein artikel kann unterschiedliche Viele Größen haben... manchmal nur 1ne größe und eine Menge, manchmal auch 10 Größen und 10 unterschiedliche Mengen, diese sollen wie im Oberen Beispiel sortiert werden. Ist das irgendwie möglich?
Schöne Grüße
Schon mal vielen Dank im vorraus, Ich habe mit der PIVOt funktion probiert, leider reicht diese dazu anscheind nicht aus
Antwort 1 von Pausenfueller
Hallo,
du meintest vermutlich CATT und dürftest mit dieser ziemlich speziellen Frage im SAP-Forum vermutlich schneller kompetente Hilfe finden.
Gruß
Pausenfüller
du meintest vermutlich CATT und dürftest mit dieser ziemlich speziellen Frage im SAP-Forum vermutlich schneller kompetente Hilfe finden.
Gruß
Pausenfüller
Antwort 2 von ChristianT
Hallo Steffen,
an Deiner Stelle würde ich die Transaktion "LSMW" für solche "Geschichten" nutzen. Ich habe selber früher auch mit dem "Catt" gearbeitet. Dieser ist beim Aufzeichen aber umständlich und man muss lange herumtüffteln, um bestimmte Transaktionen aufzuzeichnen.
Die Probleme, die Du bei der Datenaufbereitung für den Catt hast, kann ich nicht ganz nachvollziehen. Welche Transaktion hast Du aufgezeichnet und welche Felder möchtest Du damit füllen ?
Gruß
Christian
an Deiner Stelle würde ich die Transaktion "LSMW" für solche "Geschichten" nutzen. Ich habe selber früher auch mit dem "Catt" gearbeitet. Dieser ist beim Aufzeichen aber umständlich und man muss lange herumtüffteln, um bestimmte Transaktionen aufzuzeichnen.
Die Probleme, die Du bei der Datenaufbereitung für den Catt hast, kann ich nicht ganz nachvollziehen. Welche Transaktion hast Du aufgezeichnet und welche Felder möchtest Du damit füllen ?
Gruß
Christian
Antwort 3 von SteffenL
Es geht dabei um folgendes,
Ich bin verantwortlich für den Reichweiten report (zu Produzierende Artikel mit größen und Mengen ) die wir "benötigen" dieser enthält ca. 40.000 Artikel in verschiedenen Größen in dem oben genannten Format.
zurzeit sitzen ca. 8 Mitarbeiter 1ne Woche dran den gesamten Report der benötigten Artikel einzugeben. Stupide arbeit, die uns Ressourcen klaut, und die Artikel die an Tag 7 eingegeben werden haben somit schon 7 Tage verspätung bzw. ist der Reichweitenreport nicht mehr Aktuell, und eigentlich wird schon mehr Ware benötigt. Dies zieht sich anschließend über den ganzen Prozess.
Folge : Schlechte Lieferperformance, Längere Wiederbeschaffungszeit.
Danke für den Tipp mit der Transaktion, aber diese ist soweit mir bekannt für die Migration, ich möchte aber nichts Migrieren sondern Wöchentlich den RW-Report per CATT einspielen ;-)
Der CATT exisitiert, und im testsystem funktioniert er prima, nur leider benötige ich meinen Aktuellen Reichweiten Report im oben genannten Format. :(
Zur Info, ich bin vor 2Monaten noch Azubi gewesen, habe alle Abteilungen durchlaufen, mir aufgeschrieben was falsch läuft und wo es Probleme gibt/ Ich probleme sehe und jetzt bin ich mit großem drang dabei Problem für Problem auszumerzen, dazu gehört auch dieses. ;-)
Ich bin verantwortlich für den Reichweiten report (zu Produzierende Artikel mit größen und Mengen ) die wir "benötigen" dieser enthält ca. 40.000 Artikel in verschiedenen Größen in dem oben genannten Format.
zurzeit sitzen ca. 8 Mitarbeiter 1ne Woche dran den gesamten Report der benötigten Artikel einzugeben. Stupide arbeit, die uns Ressourcen klaut, und die Artikel die an Tag 7 eingegeben werden haben somit schon 7 Tage verspätung bzw. ist der Reichweitenreport nicht mehr Aktuell, und eigentlich wird schon mehr Ware benötigt. Dies zieht sich anschließend über den ganzen Prozess.
Folge : Schlechte Lieferperformance, Längere Wiederbeschaffungszeit.
Danke für den Tipp mit der Transaktion, aber diese ist soweit mir bekannt für die Migration, ich möchte aber nichts Migrieren sondern Wöchentlich den RW-Report per CATT einspielen ;-)
Der CATT exisitiert, und im testsystem funktioniert er prima, nur leider benötige ich meinen Aktuellen Reichweiten Report im oben genannten Format. :(
Zur Info, ich bin vor 2Monaten noch Azubi gewesen, habe alle Abteilungen durchlaufen, mir aufgeschrieben was falsch läuft und wo es Probleme gibt/ Ich probleme sehe und jetzt bin ich mit großem drang dabei Problem für Problem auszumerzen, dazu gehört auch dieses. ;-)
Antwort 4 von gast123
hi all :-)
ein beispiel
gruss gast123
worksheet 1 quelle
worksheet 2 ziel
ein beispiel
gruss gast123
worksheet 1 quelle
worksheet 2 ziel
Sub NeuGestaltung()
Call EventsOff
Dim suche As Range
Dim zaehler As Long
Dim zaehler1 As Long
zaehler1 = 1
With Workbooks(1).Worksheets(1)
For zaehler = 2 To .Range("A" & Rows.Count).End(xlUp).Row
Set suche = Workbooks(1).Worksheets(2).Range("A2" & ":A" & Workbooks(1).Worksheets(2).UsedRange.SpecialCells(xlCellTypeLastCell).Row).Find(.Range("A" & zaehler))
If Not suche Is Nothing Then
Workbooks(1).Worksheets(2).Cells(suche.Row, Workbooks(1).Worksheets(2).Range(suche.Row & ":" & suche.Row).End(xlToRight).Column + 1) = .Range("B" & zaehler)
Workbooks(1).Worksheets(2).Cells(suche.Row, Workbooks(1).Worksheets(2).Range(suche.Row & ":" & suche.Row).End(xlToRight).Column + 1) = .Range("C" & zaehler)
zaehler1 = suche.Row
Else
.Rows(zaehler & ":" & zaehler).Copy Workbooks(1).Worksheets(2).Range("A" & Workbooks(1).Worksheets(2).Range("A" & Rows.Count).End(xlUp).Row + 1)
End If
Next zaehler
End With
Call EventsOn
End SubPublic Sub EventsOff()
With Application
.DisplayAlerts = False
.ScreenUpdating = False
.EnableEvents = False
.Calculation = xlCalculationManual
End With
End SubPublic Sub EventsOn()
With Application
.DisplayAlerts = True
.ScreenUpdating = True
.EnableEvents = True
.Calculation = xlCalculationAutomatic
End With
End SubAntwort 5 von gast123
hi all
ups korrigiert
gruss gast123
ups korrigiert
gruss gast123
Sub NeuGestaltung()
Call EventsOff
Dim suche As Range
Dim zaehler As Long
With Workbooks(1).Worksheets(1)
For zaehler = 2 To .Range("A" & Rows.Count).End(xlUp).Row
Set suche = Workbooks(1).Worksheets(2).Range("A2" & ":A" & Workbooks(1).Worksheets(2).UsedRange.SpecialCells(xlCellTypeLastCell).Row).Find(.Range("A" & zaehler))
If Not suche Is Nothing Then
Workbooks(1).Worksheets(2).Cells(suche.Row, Workbooks(1).Worksheets(2).Range(suche.Row & ":" & suche.Row).End(xlToRight).Column + 1) = .Range("B" & zaehler)
Workbooks(1).Worksheets(2).Cells(suche.Row, Workbooks(1).Worksheets(2).Range(suche.Row & ":" & suche.Row).End(xlToRight).Column + 1) = .Range("C" & zaehler)
Else
.Rows(zaehler & ":" & zaehler).Copy Workbooks(1).Worksheets(2).Range("A" & Workbooks(1).Worksheets(2).Range("A" & Rows.Count).End(xlUp).Row + 1)
End If
Next zaehler
End With
Call EventsOn
End Sub
Public Sub EventsOff()
With Application
.DisplayAlerts = False
.ScreenUpdating = False
.EnableEvents = False
.Calculation = xlCalculationManual
End With
End Sub
Public Sub EventsOn()
With Application
.DisplayAlerts = True
.ScreenUpdating = True
.EnableEvents = True
.Calculation = xlCalculationAutomatic
End With
End SubAntwort 6 von SteffenL
Hy, wie kann ich dir dafür nur danken gibts ein Spendenkonto xD ... das erspart uns Tagelange arbeit :)
Jetzt gibts ein letztes kleines problem..
ich habe jetzt eine tabelle die wie folgt aussieht
Material | Größe | Menge | Größe | Menge | Größe | Menge |
x | 1 | 2 | 2 | 1 | 3 | 10 |
y | 3 | 1 | 3 | 2 | | |
z | 4 | 1 | | | | |
ich müsste nun die leeren Zellen bis zum ende der längsten Spalte " mit "luftkommas" auffüllen ' '
In worten:
luftkomma leerzeichen luftkomma
Jetzt gibts ein letztes kleines problem..
ich habe jetzt eine tabelle die wie folgt aussieht
Material | Größe | Menge | Größe | Menge | Größe | Menge |
x | 1 | 2 | 2 | 1 | 3 | 10 |
y | 3 | 1 | 3 | 2 | | |
z | 4 | 1 | | | | |
ich müsste nun die leeren Zellen bis zum ende der längsten Spalte " mit "luftkommas" auffüllen ' '
In worten:
luftkomma leerzeichen luftkomma
Antwort 7 von ChristianT
Hallo SteffenL,
grundsätzlich hast Du Recht, dass LSMW für die Migration bzw. Datenübernahme von Alt-Syemen genutzt wird - aber nicht nur !!
Duch das Aufzeichnen von Transaktionen kann man größere Datenbestände automatisch ins System bringen, umbuchen etc. (Ich benutze es unter anderem um Plandaten ins System upzuloaden).
http://sapwiki.iwoars.net/index.php/LSMW
Gruß
Christian
grundsätzlich hast Du Recht, dass LSMW für die Migration bzw. Datenübernahme von Alt-Syemen genutzt wird - aber nicht nur !!
Duch das Aufzeichnen von Transaktionen kann man größere Datenbestände automatisch ins System bringen, umbuchen etc. (Ich benutze es unter anderem um Plandaten ins System upzuloaden).
http://sapwiki.iwoars.net/index.php/LSMW
Gruß
Christian
Antwort 8 von gast123
hi all
vielleicht so
gruss gast123
vielleicht so
gruss gast123
Sub NeuGestaltung()
Call EventsOff
Dim suche As Range
Dim zaehler As Long
With Workbooks(1).Worksheets(1)
For zaehler = 2 To .Range("A" & Rows.Count).End(xlUp).Row
Set suche = Workbooks(1).Worksheets(2).Range("A2" & ":A" & Workbooks(1).Worksheets(2).UsedRange.SpecialCells(xlCellTypeLastCell).Row).Find(.Range("A" & zaehler))
If Not suche Is Nothing Then
Workbooks(1).Worksheets(2).Cells(suche.Row, Workbooks(1).Worksheets(2).Range(suche.Row & ":" & suche.Row).End(xlToRight).Column + 1) = .Range("B" & zaehler)
Workbooks(1).Worksheets(2).Cells(suche.Row, Workbooks(1).Worksheets(2).Range(suche.Row & ":" & suche.Row).End(xlToRight).Column + 1) = .Range("C" & zaehler)
Else
.Rows(zaehler & ":" & zaehler).Copy Workbooks(1).Worksheets(2).Range("A" & Workbooks(1).Worksheets(2).Range("A" & Rows.Count).End(xlUp).Row + 1)
End If
Next zaehler
End With
Workbooks(1).Worksheets(2).Range(Workbooks(1).Worksheets(2).Cells(2, 1), Workbooks(1).Worksheets(2).Cells(Workbooks(1).Worksheets(2).UsedRange.SpecialCells(xlCellTypeLastCell).Row, Workbooks(1).Worksheets(2).UsedRange.SpecialCells(xlCellTypeLastCell).Column)).Replace what:="", replacement:="' '", searchorder:=xlByColumns, MatchCase:=True
Call EventsOn
End Sub
Public Sub EventsOff()
With Application
.DisplayAlerts = False
.ScreenUpdating = False
.EnableEvents = False
.Calculation = xlCalculationManual
End With
End Sub
Public Sub EventsOn()
With Application
.DisplayAlerts = True
.ScreenUpdating = True
.EnableEvents = True
.Calculation = xlCalculationAutomatic
End With
End Sub
