Dag allemaal,
Ik loop tegen een aantal problemen aan in mijn Excel-sheet.
In de bijlage heb ik mijn testdocument toegevoegd met fictieve namen.
Probleem 1)
Voor het tabblad 'Trainingsschema (1-6)' staat in onderstaande code "Je formules".
"Je formules" moet vervangen worden door verschillende ALS-formules.
Deze staan in de kolommen D17:E22. Maar deze ALS formules verschillen per cel. Zie hieronder een voorbeeld om aan te geven welke waarde steeds verandert (bold):
- CEL D17:=ALS($D$7="";"";ALS($D$8="(kies intensiteit)";"";VERT.ZOEKEN(TEKST.SAMENVOEGEN($D$7;$D$8;$D$9;$B17);$AI$12:$AL$60;3;ONWAAR)))
- CEL D18:=ALS($D$7="";"";ALS($D$8="(kies intensiteit)";"";VERT.ZOEKEN(TEKST.SAMENVOEGEN($D$7;$D$8;$D$9;$B18);$AI$12:$AL$60;3;ONWAAR)))
Een optie is macro opnemen en dan bijvoorbeeld dit: ' [D1].FormulaR1C1 = "=VLOOKUP(R[2]C,R[4]C[-1]:R[5]C,2,FALSE)". Echter, is dit voor één cel, waarbij niet elke keer de verticaal zoeken afwijkt. Welke code moet ik i.p.v. "Je formules" in mijn VBA opnemen om het voor al mijn ALS-formules (D17:E22) (die dus telkens verschillen) te realiseren?
Dit moet ook voor het tabblad 'Trainingsschema (7-12)' gerealiseerd worden.
Dit moet eerst kloppen alvorens ik mijn sheet goed kan beveiligen, want dat is probleem 2.
Probleem 2)
Mijn hele sheet wil ik beveiligen, maar de gebruiker moet bij de keuze 'Doel' (D8) 'Leeg - Kies trainingsparameters' de cellen (D17:E22) onbeveiligd maken, zodat de gebruiker hier zelf getallen kan invullen. Bij alle andere keuzes onder 'Doel' moeten deze beveiligd blijven. Momenteel hanteer ik de VBA-code:
Hoe kan ik dit beter verwerken in mijn VBA-code als probleem 1 is opgelost?
Hopelijk kunnen jullie mij helpen met mijn sheet.
Alvast bedankt!!
Ik loop tegen een aantal problemen aan in mijn Excel-sheet.
In de bijlage heb ik mijn testdocument toegevoegd met fictieve namen.
Probleem 1)
Voor het tabblad 'Trainingsschema (1-6)' staat in onderstaande code "Je formules".
Code:
With Range("D17:F22")
If Target = "Leeg - kies trainingsparameters" Then
ActiveSheet.Unprotect
.Locked = False
ActiveSheet.Protect
Else
ActiveSheet.Unprotect
.Locked = True
.Value = "Je formules"
ActiveSheet.Protect
End If
End With
"Je formules" moet vervangen worden door verschillende ALS-formules.
Deze staan in de kolommen D17:E22. Maar deze ALS formules verschillen per cel. Zie hieronder een voorbeeld om aan te geven welke waarde steeds verandert (bold):
- CEL D17:=ALS($D$7="";"";ALS($D$8="(kies intensiteit)";"";VERT.ZOEKEN(TEKST.SAMENVOEGEN($D$7;$D$8;$D$9;$B17);$AI$12:$AL$60;3;ONWAAR)))
- CEL D18:=ALS($D$7="";"";ALS($D$8="(kies intensiteit)";"";VERT.ZOEKEN(TEKST.SAMENVOEGEN($D$7;$D$8;$D$9;$B18);$AI$12:$AL$60;3;ONWAAR)))
Een optie is macro opnemen en dan bijvoorbeeld dit: ' [D1].FormulaR1C1 = "=VLOOKUP(R[2]C,R[4]C[-1]:R[5]C,2,FALSE)". Echter, is dit voor één cel, waarbij niet elke keer de verticaal zoeken afwijkt. Welke code moet ik i.p.v. "Je formules" in mijn VBA opnemen om het voor al mijn ALS-formules (D17:E22) (die dus telkens verschillen) te realiseren?
Dit moet ook voor het tabblad 'Trainingsschema (7-12)' gerealiseerd worden.
Dit moet eerst kloppen alvorens ik mijn sheet goed kan beveiligen, want dat is probleem 2.
Probleem 2)
Mijn hele sheet wil ik beveiligen, maar de gebruiker moet bij de keuze 'Doel' (D8) 'Leeg - Kies trainingsparameters' de cellen (D17:E22) onbeveiligd maken, zodat de gebruiker hier zelf getallen kan invullen. Bij alle andere keuzes onder 'Doel' moeten deze beveiligd blijven. Momenteel hanteer ik de VBA-code:
Code:
With Range("D17:E22")
If Target = "Leeg - kies trainingsparameters" Then
ActiveSheet.Unprotect
.Locked = False
ActiveSheet.Protect
Hopelijk kunnen jullie mij helpen met mijn sheet.
Alvast bedankt!!
Bijlagen
Laatst bewerkt: