Ga naar inhoud

getal verdelen in verschillende andere


rudi d.

Aanbevolen berichten

Heb het voorbeeldbestandje wat aangepast. Blad2 verwijdert want dit was nog een manuele testsheet.

 

Waar je op moet letten als je het bestand gebruikt.

 

1) De Solver-addin moet geactiveerd zijn.

 

2) Macro's moeten ingeschakeld zijn.

 

3) In het VBA-project moet de verwijzing naar Solver aangevinkt zijn.

 

Door nu in B5 een getal typen en te bevestigen met Enter wijzigen de cellen in B1:B3 naar de gebruikte lengtes.

Solver_Sample(1).xlsm

Link naar reactie
Delen op andere sites

Dit werkt inderdaad perfect! Kopieer ik echter de nodige cellen naar mijn werkblad en pas ik de verwijzingen in oplosser aan klopt de berekening weer niet. Als ik bij oplosser op "oplossen" klik doet hij het wel. Moet ergens iets over het hoofd zien. In VBA is de verwijzing aangevinkt.

In bijlage mijn werkblad.

Kopie van Stelling berekenen.xlsm

Link naar reactie
Delen op andere sites

Je was de Event-code (de motor) vergeten te kopiëren naar de Bladmodule van Blad1.

 

Private Sub Worksheet_Change(ByVal Target As Range)
    If Target.Address = "$F$100" Then
        If Target = vbNullString Then Exit Sub
        If Target < 0 Then Exit Sub
        Application.ScreenUpdating = False
        Range("F96:F98").ClearContents
        SolverReset
        SolverOK Range("$F$101"), 2, , Range("$F$96:$F$98"), 1
        SolverAdd Range("$F$96:$F$98"), 4
        SolverSolve True
        Application.ScreenUpdating = True
    End If
End Sub

 

Stelling berekenen(1).xlsm

Link naar reactie
Delen op andere sites

Ik zie dat als ik in het vak target (F100, naam heb ik gewijzigd) een getal invul de berekening klopt, doe ik een verwijzing naar B5 gevelbreedte doet hij de berekening ook, maar verander ik dit getal in B5 wil hij niet meer berekenen. Is dit een instelling in Excel zelf dat ik zou moeten veranderen of ligt het aan de oplosserberekening?

Stelling berekenen.xlsm

Link naar reactie
Delen op andere sites

Worksheet_Change-event reageert niet op een wijziging van de waarde door een formule.

 

Wijzig daarom de broncel naar B5, dewelke de verandering start.

 

Private Sub Worksheet_Change(ByVal Target As Range)
    If Target.Address = "$B$5" Then
        If Target = vbNullString Then Exit Sub
        If Target < 0 Then Exit Sub
        Application.ScreenUpdating = False
        Range("F96:F98").ClearContents
        SolverReset
        SolverOK Range("$F$101"), 2, , Range("$F$96:$F$98"), 1
        SolverAdd Range("$F$96:$F$98"), 4
        SolverSolve True
        Application.ScreenUpdating = True
    End If
End Sub

 

Link naar reactie
Delen op andere sites

×
×
  • Nieuwe aanmaken...

Belangrijke informatie

We hebben cookies geplaatst op je toestel om deze website voor jou beter te kunnen maken. Je kunt de cookie instellingen aanpassen, anders gaan we er van uit dat het goed is om verder te gaan.