• Privacywetgeving
    Het is bij Helpmij.nl niet toegestaan om persoonsgegevens in een voorbeeld te plaatsen. Alle voorbeelden die persoonsgegevens bevatten zullen zonder opgaaf van reden verwijderd worden. In de vraag zal specifiek vermeld moeten worden dat het om fictieve namen gaat.

Cel afhankelijk van twee andere cellen

Status
Niet open voor verdere reacties.

Arito

Gebruiker
Lid geworden
31 mei 2006
Berichten
140
Beste helpers,

Alweer de derde vraag in een korte tijd, maar goed.

Ik heb een sheet met drie cellen (A1, A2 en A3), zie voorbeeld3. In A2 wordt door de gebruiker een 1 of een 0 geplaatst. A3 is een formule die soms 0 en soms 1 als resultaat kan hebben (de formule in de voorbeeldsheet is een testformule en slaat nergens op).

Ik wil dat als de waarde in A2 of A3 veranderd, de waarde in A1 ook veranderd. De verandering in A2 kan doorgevoerd worden door een worksheet change code zoals deze:

Code:
    If Target.Address = "$A$2" Then
        [A1].Value = 0
        If [A2].Value = 1 Then [A1].Value = 1
    End If

Maar datzelfde lukt me niet met de formule omdat de formule niet veranderd, alleen de uitkomst van de formule en dat registreert de worksheet change code niet.

Dus: Zodra A2 of A3 veranderd moet A1 de waarde aannemen waarin een van die twee cellen in is veranderd.

Bijvoorbeeld:
Als in A2 een 1 gekozen wordt moet A1 ook een 1 worden
Zodra er in A3 dan een 0 komt moet er in A1 een 0 staan
Als A3 dan weer 1 wordt, moet A1 weer 1 worden
etc.

Bij voorbaat dank
 

Bijlagen

Arito,

Werk dit?
Code:
If Target.Address = "$A$2" Then
  [A1].Value = 0
  If [A2] Or [A3].Value = 1 Then [A1].Value = 1
End If
 
Helaas niet. De code ziet een verandering in de uitkomst van een formule niet als verandering in de cel.
 
Arito,

Als je dit erbij gebruikt?

Code:
Private Sub Worksheet_SelectionChange(ByVal Target As Range)
  Application.CalculateFull
End Sub
 
Code:
Private Sub Worksheet_Change(ByVal Target As Range)
    testcel = [a3]
    If Target.Address = "$A$2" Then
        [a1].Value = 0
        If [A2] Or [a3].Value = 1 Then [a1].Value = 1
    If testcel = [a3] Then [a1].Value = testcel
End If
End Sub

Zoiets, of ben ik niet helemaal mee ?

Joske
 
Werkt helaas ook niet. Ik denk dat het probleem is dat een "worksheet change" event alleen getriggered wordt als de data in een cel wordt veranderd. In het geval van een formule die een ander resultaat berekend wordt de event niet getriggered.
 
Status
Niet open voor verdere reacties.
Terug
Bovenaan Onderaan