Cellen automatisch aanvullen

Status
Niet open voor verdere reacties.

Mtijn1991

Gebruiker
Lid geworden
8 mrt 2012
Berichten
16
Hallo,

Klein probleempje; Ik ben bezig met een excel worksheet aan het maken om productie tijden mee te berekenen.
Er zijn veel ''speciale'' producten waarvan elke keer de tijden handmatig mee moeten worden berekend.

Maar er zijn ook een aantal ''standaard'' producten, hier zijn bijvoorbeeld de afmetingen, dikte en materiaal soort van bekend.
Deze standaard producten moeten herkend worden aan het product nummer.

Nu had ik een begin gemaakt in excel als:

Private Sub Worksheet_Change(ByVal Target As Range)

If Range("D4").Value = "2334553" Then
Range("D8").Value = "4434"
Range("D9").Value = "44"
End If

If Range("D4").Value = "883233" Then
Range("D8").Value = "232"
Range("D9").Value = "476"

End If

End Sub

Maar als ik op de execute button druk dan blijft ie lopen en slaat op een gegeven moment vast.
Heeft iemand hulp hoe ik dit oplos?
En wat moet ik invullen als de waarde in D4 niet onder de 'standaard' producten valt?

Ik hoop dat het duidelijk is!

Alvast bedankt!
 
Mtijn1991

De fout die je maakt is dat je op alle cellen wil vaststellen als er wat veranderd is.
Als D4 de value 2334553 bevat dan wordt D8 aangepast. De aanpassing van D8 heeft tot gevolg dat er een worksheet_change plaats vind en begint de formule van voor af aan omdat iedere keer D8 wordt gewijzigd.
Je wil alleen een reactie als er wat gewijzigd wordt in cel D4.
Voeg dus in het begin van je procedure de volgende regel toe:

If Target.Address = "$D$4" then ....

Veel Succes.
 
Nog een kleine aanvulling ipv If....Then-lussen
Code:
Private Sub Worksheet_Change(ByVal Target As Range)
    If Target.Address = "$D$4" Then
        Select Case Target.Value
            Case 2334553
                Range("D8").Value = 4434
                Range("D9").Value = 44
            Case 883233
                Range("D8").Value = 232
                Range("D9").Value = 476
        End Select
    End If
End Sub
Dit kan je dan voor alle standaardmaten verder aanvullen.
 
Status
Niet open voor verdere reacties.
Terug
Bovenaan Onderaan