Ga naar inhoud

Excel macro's


Jasper

Aanbevolen berichten

Bij ELKE IF hoort een End IF, maar je hoeft niet zoveel if's te gebruiken, zoals ik in mijn bericht van 2 oktober al aangaf en hieronder nog zal blijken. Zodra je een IF gebruikt kun je best al meteen de 'END IF' invoeren en dan pas wat daartussen moet komen, dan vergeet je de 'END IF' niet.

 

Wat de CheckBox_Basis betreft:

Bij een checkbox zijn er slechts 2 mogelijkheden: het vakje is aangevinkt: TRUE, of het is niet aangevinkt : FALSE (niet: 'not true').

Je hoeft slechts 1 mogelijkheid te vermelden, want wat er moet gebeuren als die ene mogelijkheid niet geldt, spreekt dan vanzelf.

Je kunt dus gebruiken, ofwel:

If CheckBox_Basis.Value = True Then
Range("B19") = 1
Else
Range("B19") = 0
End If

ofwel (dus niet beide mogelijkheden gebruiken, maar slechts wat hierboven staat OF wat nu volgt):


If CheckBox_Basis.Value = FALSE Then
Range("B19") = 0
Else
Range("B19") = 1
End If

Je ziet dat er in beide gevallen maar 1 'if' nodig is.

 

Wat de CheckBox_Brug in je voorbeeld betreft, zijn er 4 mogelijkheden. Je mag die dan alle 4 wel vermelden, maar je kunt ook volstaan met 3, want als de eerste 3 mogelijkheden niet gelden, geldt automatisch het vierde.  En verder, ik schreef dat ook reeds op 2 oktober: een checkbox kan kan alleen TRUE of FALSE zijn en niet iets anders, dus wat je hierboven schreef: Checkbox_Brug.Value = "Brug automatisch" is FOUT ! In plaats van Checkbox_Brug bedoel je waarschijnlijk Pulldownmenu_Brug. Als dat zo is, dan kan dat stukje als volgt worden gecorrigeerd (let op, ook hier slechts 1 x IF):

If Pulldownmenu_Brug.Value = "Brug automatisch" Then
Range("B22").value = "Brug automatisch"
Elseif Pulldownmenu_Brug.Value = "Brug handbediend" Then
Range("B22").value = "Brug handbediend"
Elseif .Pulldownmenu_Brug.Value  = "Brug handbediend snelontluchter" Then
Range("B22") = "Brug handbediend snelontluchter"
Else
Range("B22") = "Geen"
End If

Bestudeer in de helpfile van Excel de oprachten die je wil gebruiken, eens goed; ze worden daar duidelijk uitgelegd.

De code kan nog wel wat korter, maar als je begint met vba moet je niet teveel tegelijk willen, daarom ga ik daar nu niet op in.

 

aangepast door alpha
Link naar reactie
Delen op andere sites

  • Reacties 31
  • Aangemaakt
  • Laatste reactie

Beste reacties in dit topic


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