• 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.

Diverse formule afhankelijk van dropdown keuze

Status
Niet open voor verdere reacties.

YanDaw

Nieuwe gebruiker
Lid geworden
8 jul 2019
Berichten
4
Ik ziel in Excel een dropdown maken met 2 opties. Als men voor optie 1 kiest, dan kan veld E1, F1, G1 en H1 ingevuld worden en dan is I1,J1, K1 en L1 een formulier daarvan. Als men voor optie 2 kiest, dan is E1, F1, I1,J1, K1 en L1 invulbaar en is G1 en H1 een formulier hiervan. Hoe kan ik dit doen?


Bij Standard kan moet men alleen de geel gearceerde vellen invullen en wat niet gearceerd is wordt automatisch ingevuld. Bij 4 borders idem.

ik hoor graag of iemand mij kan helpen?
 

Bijlagen

Dank je wel Jean-Paul! Kunt u mij wellicht uitleggen hoe u dat gedaan heeft? Ik zal dit straks ook bij andere moeten maken.
Ik hoor het graag.
 
Elke keer als in cel D11 iets gewijzigd word zal deze macro zijn werk doen afhankelijk van de gekozen validatie, deze staat achter jouw Blad1
Code:
Private Sub Worksheet_Change(ByVal Target As Range)

    If Not Intersect(Target, Range("D11")) Is Nothing Then
Range("E11:L11").ClearContents
Range("E11:L11").Interior.ColorIndex = xlNone
If Target.Value = "" Then Exit Sub
If Target.Value = "Standard" Then
    Range("E11:H11").Interior.ColorIndex = 6
    Target.Offset(, 5).FormulaR1C1 = "=(RC[-3]-RC[-1])/2"
    Target.Offset(, 6).FormulaR1C1 = "=(RC[-5]-RC[-3])/2"
    Target.Offset(, 7).FormulaR1C1 = "=(RC[-6]-RC[-4])/2"
    Target.Offset(, 8).FormulaR1C1 = "=(RC[-6]-RC[-4])/2"

End If
If Range("d11").Value = "4 Borders" Then
Range("E11:L11").Interior.ColorIndex = 6
Range("G11:H11").Interior.ColorIndex = xlNone
    Target.Offset(, 3).FormulaR1C1 = "=RC[-2]-(RC[3]+RC[4])"
    Target.Offset(, 4).FormulaR1C1 = "=RC[-2]-(RC[1]+RC[4])"
End If
    End If

End Sub
 
Dank je wel! En als ik dit door wil zetten naar D4 tot en met D50. Hoe ik de range alleen aan te passen? Of kan ik rechtsonderin het veld naar beneden slepen zodat het bij andere cellen gekopieerd wordt?
 
Onbeperkt als er maar een validatielijst in een cel in kolom D staat.

Code:
Private Sub Worksheet_Change(ByVal Target As Range)
  If Not Intersect(Target, Columns(4).SpecialCells(-4174)) Is Nothing Then
    Target.Offset(, 1).Resize(, 8).Clear
    Select Case Target
      Case "Standard"
        Target.Offset(, 1).Resize(, 4).Interior.Color = vbYellow
        Target.Offset(, 5).Resize(, 4).FormulaR1C1 = Array("=(RC[-3]-RC[-1])/2", "=(RC[-5]-RC[-3])/2", "=(RC[-6]-RC[-4])/2", "=(RC[-6]-RC[-4])/2")
      Case "4 Borders"
        Union(Target.Offset(, 1).Resize(, 2), Target.Offset(, 5).Resize(, 4)).Interior.Color = vbYellow
        Target.Offset(, 3).Resize(, 2) = Array("=RC[-2]-(RC[3]+RC[4])", "=RC[-2]-(RC[1]+RC[4])")
    End Select
  End If
End Sub
 
Laatst bewerkt:
Goedemorgen Jean-Paul en VenA. Hartelijke dank voor de gedane moeite. Ik kan hier mee verder!
 
Status
Niet open voor verdere reacties.
Terug
Bovenaan Onderaan