Ik zal proberen in volgorde te antwoorden:
Maar ik begon me af te vragen of het niet beter, duidelijker, was om verschillende modules met voorwaardelijke lussen enz. te maken en ze dan in de knopcode op te roepen
Ja en Nee (het is een goed begin, hè?)
Ja, alles wat wordt hergebruikt bij het uitvoeren van een programma moet in een openbare module worden geplaatst.
Ja, elk deel van de code dat in een klasse wordt hergebruikt, moet worden meegenomen in een procedure of functie.
Nee, het is niet geoptimaliseerd om modules te gebruiken om alle lussen of delen van code die moeten worden aangeroepen, erin te plaatsen.
Het doel kan zijn om de code te verlichten en meer gestructureerd te maken
Om de code te verlichten, als u de "Ja"-punten van mijn vorige antwoord respecteert, heeft u al 80% van het werk gedaan.
Voor de overige 20% zijn het de opmerkingen die ze maken. Een code zonder commentaar is een slecht gemaakte code.
Als jij of iemand anders teruggaat naar de code en ze moeten 5000 regels code typen om te begrijpen waar deze vastloopt, kost het hen 3 dagen (3 dagen om de code te begrijpen en 15 seconden om een punt te plaatsen waar deze ontbrak)
Bovendien zou het misschien sneller en minder ingewikkeld zijn voor de computer?
Nee
Om code te optimaliseren (op vba is het niet erg handig gezien de zwaarte van deze code), moet je beginnen met het beperken van de variabelen of ze opnieuw gebruiken.
U moet de variabelen typen (een type geven) zodat ze hetzelfde type hebben als hun toekomstige waarde
U moet het type "Object" niet gebruiken en het type "Variant" beperken.
U moet klassen maken voor complexe objecten in plaats van het type Variant of Object te gebruiken.
U moet het trefwoord "Met" gebruiken wanneer u meerdere eigenschappen aan een object wilt toewijzen:
Dim MaVoiture As Voiture
With MaVoiture
.Couleur="Bleu"
.Moteur="V16 Twin Turbo 12l " 'HOOOO C'EST BEAU DE REVER
End With
Het is ook schoner.
Matrices gebruiken voor objectverzamelingen
Het zijn er nog veel, maar het heeft geen zin om door te gaan.
Onder de 10000 regels code bespaart u slechts een paar milliseconden:)