Beste mede programmeurs,
Ik heb een programmetje geschreven om het aantal actieve rijen te tellen en dat aantal zal gebruikt voor in de teller van een for-loop. Er wordt van blad2(de data) steeds een rij met waardes gekopieerd, dit wordt getransponeerd en in blad3(de machine) geplakt voor de berekening. Hiervoor wordt door middel van de Solver functie een optimale waarde gegenereerd. Vervolgens moet de optimale waarde in de gele vak komen te staan in blad2. De Solver moet wel aangevinkt wordt in Vba editor, hiervoor naar Extra==> Verwijzingen. Het programma kan er enkele minuten over doen om door de for-loop heen te komen.
Alleen loopt het steeds vast als het begint met de laatste iteratie. Ik heb zoveel dingen geprobeerd maar tevergeefs. Het begint nu echt te irriteren omdat je niet weet wat het probleem is. Ik hoop dat jullie hiermee kunnen helpen. Jullie hulp wordt zeer gewaardeerd!
Ik heb een programmetje geschreven om het aantal actieve rijen te tellen en dat aantal zal gebruikt voor in de teller van een for-loop. Er wordt van blad2(de data) steeds een rij met waardes gekopieerd, dit wordt getransponeerd en in blad3(de machine) geplakt voor de berekening. Hiervoor wordt door middel van de Solver functie een optimale waarde gegenereerd. Vervolgens moet de optimale waarde in de gele vak komen te staan in blad2. De Solver moet wel aangevinkt wordt in Vba editor, hiervoor naar Extra==> Verwijzingen. Het programma kan er enkele minuten over doen om door de for-loop heen te komen.
Alleen loopt het steeds vast als het begint met de laatste iteratie. Ik heb zoveel dingen geprobeerd maar tevergeefs. Het begint nu echt te irriteren omdat je niet weet wat het probleem is. Ik hoop dat jullie hiermee kunnen helpen. Jullie hulp wordt zeer gewaardeerd!
Code:
Sub DeForecast()
Dim i, j As Integer
Worksheets("Blad2").Activate
'Telt het aantal rijen
mycount = Application.CountA(Range("A:A"))
For i = 0 To mycount - 2
Worksheets("Blad2").Activate
Range(Cells(3 + i, 2), Cells(3 + i, 1).End(xlToRight)).Copy
Worksheets("Blad3").Activate
Cells(5, 3).PasteSpecial Transpose:=True
x = SolverSolve(True)
Range("F6").End(xlDown).Copy
Cells(1, 17).PasteSpecial Paste:=xlPasteValues
j = Cells(1, 17).Value
Worksheets("Blad2").Cells(3 + i, 17) = j
Next i
End Sub
Bijlagen
Laatst bewerkt: