online 1
gast (50)

/ Forum / Tabellenkalkulation

TabellenkalkulationTabellenkalkulation

Fragevon SteffenL vom 27.02.2020, 10:33 Options

Artikelnummer/groeße/Menge neu anordnen

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 schreiben

Antwort 1 von Pausenfueller vom 27.02.2020, 11:12 Options

Hallo,

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 vom 27.02.2020, 11:26 Options

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

Antwort 3 von SteffenL vom 27.02.2020, 11:37 Options

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. ;-)

Antwort 4 von gast123 vom 27.02.2020, 12:13 Options

hi all :-)

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 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

Antwort 5 von gast123 vom 27.02.2020, 12:26 Options

hi all

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 Sub

Antwort 6 von SteffenL vom 27.02.2020, 13:30 Options

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

Antwort 7 von ChristianT vom 27.02.2020, 13:35 Options

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

Antwort 8 von gast123 vom 27.02.2020, 14:48 Options

hi all

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

Ähnliche Themen

Transponieren kompleser Spalten
ikos  18.01.2007 - 115 Hits -

Access Kombifeld Aktualisierung
Samuel_K  31.01.2007 - 89 Hits - 2 Antworten

SQL: Lagerbestand ermitteln mehrere Lagerorte
Elhamplo  09.08.2007 - 192 Hits - 3 Antworten

Desktop-Icons unter Xubuntu frei anordnen
REMARA  05.02.2008 - 40 Hits - 7 Antworten

Hinweis

Diese Frage ist schon etwas älter, Sie können daher nicht mehr auf sie antworten. Sollte Ihre Frage noch nicht gelöst sein, stellen Sie einfach eine neue Frage im Forum..

Neue Einträge

Version: supportware 1.9.150 / 10.06.2022, Startzeit:Mon Jan 26 01:23:17 2026