Live-Forum - Die aktuellen Beiträge
Anzeige
Archiv - Navigation
1740to1744
Aktuelles Verzeichnis
Verzeichnis Index
Übersicht Verzeichnisse
Vorheriger Thread
Rückwärts Blättern
Nächster Thread
Vorwärts blättern
Anzeige
HERBERS
Excel-Forum (Archiv)
20+ Jahre Excel-Kompetenz: Von Anwendern, für Anwender
Inhaltsverzeichnis

@Jan Freytag - Code anpassen

@Jan Freytag - Code anpassen
20.02.2020 16:15:36
Matthias
Moin!
Dein Beitrag kam zu spät und dann war der Threa schon zu.
https://www.herber.de/forum/cgi-bin/callthread.pl?index=1739792#1740946
Dein Wunsch ist auch möglich. HIer der angepasste Code. Musst nur mal bei den Balttnamen schauen. Die waren warum auch immer jetzt plötzlich anders. Da hier kein Code eingefügt werden kann, antworte ich gleich mit COde darauf.
VG

4
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: @Jan Freytag - Code anpassen
20.02.2020 16:16:13
Matthias
so und hier der Code dazu:
Sub Aufteilen()
Dim lngLetzte        As Long
Dim lngEinfüg        As Long
Dim i                As Long
Dim dblMaxKapa       As Double
Dim fVarProd         As Variant
Dim lngStück         As Long
Dim lngFormen        As Double
Dim lngCalcStatus    As Long
Dim dblAufgeteilt    As Double
On Error GoTo ErrExit
lngCalcStatus = Application.Calculation
Application.Calculation = xlCalculationManual
lngEinfüg = Application.Max(8, Worksheets("F7 Soll").Cells(Worksheets("F7 Soll").Rows.Count,  _
1).End(xlUp).Row + 1)
With Worksheets("F7 Artikelebene")
dblMaxKapa = .Cells(2, "Y").Value
lngLetzte = .Cells(.Rows.Count, "W").End(xlUp).Row
For i = 5 To lngLetzte     'start in 5 nicht in 4
If .Cells(i, "W").Value  "" Then
fVarProd = .Cells(i, "W").Resize(, 2).Value
dblStück = CDbl(.Cells(i, "Y").Value)
lngFormen = .Cells(i, "AA").Value
Do
With Worksheets("F7 Soll")
.Cells(lngEinfüg, 1).Resize(1, 2).Value = fVarProd
.Cells(lngEinfüg, 3).Value = Application.Min(dblMaxKapa, dblStück)
dblStück = dblStück - dblMaxKapa
lngFormen = lngFormen - 1
If lngFormen  0 And lngFormen > 0
End If
Next i
End With
ErrExit:
Application.Calculation = lngCalcStatus
End Sub
VG
Anzeige
AW: @Jan Freytag - Code anpassen
21.02.2020 15:26:26
Jan
Hi Matthias,
danke für die weitere Hilfe, allerdings zeigt er nun bei einigen Dimensionen minus an, was er nicht soll...
zur Erklärung lade ich mal die richtige Datei hoch...
im zweiten Button rechts daneben auf Blatt "F7 Soll" ist dein Code hinterlegt, bevor man ihn drückt erst Auslastung löschen button drücken...hoffe, es hilft ein bisschen
https://www.herber.de/bbs/user/135361.xlsm
AW: @Jan Freytag - Code anpassen
21.02.2020 19:37:18
Matthias
Moin!
Habe mal getestet. So sollte es passen. Hatte vergessen zu prüfen, ob die Summe negativ wird und sie einfac so abgezogen.
Sub Aufteilen2()
Dim lngLetzte        As Long
Dim lngEinfüg        As Long
Dim i                As Long
Dim dblMaxKapa       As Double
Dim fVarProd         As Variant
Dim lngStück         As Long
Dim lngFormen        As Double
Dim lngCalcStatus    As Long
Dim dblAufgeteilt    As Double
On Error GoTo ErrExit
lngCalcStatus = Application.Calculation
Application.Calculation = xlCalculationManual
lngEinfüg = Application.Max(8, Worksheets("F7 Soll ausgelastet").Cells(Worksheets("F7 Soll  _
ausgelastet").Rows.Count, _
1).End(xlUp).Row + 1)
With Worksheets("F7 Artikelebene")
dblMaxKapa = .Cells(2, "Y").Value
lngLetzte = .Cells(.Rows.Count, "W").End(xlUp).Row
For i = 4 To lngLetzte     'start in 5 nicht in 4
If .Cells(i, "W").Value  "" Then
fVarProd = .Cells(i, "W").Resize(, 2).Value
dblStück = CDbl(.Cells(i, "Y").Value)
lngFormen = .Cells(i, "AA").Value
Do
With Worksheets("F7 Soll ausgelastet")
.Cells(lngEinfüg, 1).Resize(1, 2).Value = fVarProd
.Cells(lngEinfüg, 3).Value = Application.Min(dblMaxKapa, dblStück)
dblStück = dblStück - dblMaxKapa
lngFormen = lngFormen - 1
If lngFormen  0 Then .Cells(lngEinfüg, 3).Value = CDbl(. _
Cells(lngEinfüg, 3).Value) + dblStück
lngEinfüg = lngEinfüg + 1
End With
Loop While dblStück > 0 And lngFormen > 0
End If
Next i
End With
ErrExit:
Application.Calculation = lngCalcStatus
End Sub

Teste bitte nochmal. Wenn es noch nicht das richtige war, dann bitte nochmal melden.
VG
Anzeige
AW: @Jan Freytag - Code anpassen
24.02.2020 11:30:54
Jan
einfach perfekt, klasse! Hut ab! ;-)

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige