Grootte van een procedure bekijken

Status
Niet open voor verdere reacties.

DutchOirs

Gebruiker
Lid geworden
30 sep 2009
Berichten
720
Goeden avond

Gebruik Excel 2003 en loop nog wel eens tegen het fenomeen dat de procedure te klein wordt.

Vraag is: is er ergens een optie waar men de grote van een bepaalde procedure kan bekijken?

Al many thanks

Vr. Gr.

Dutch
 
Laatst bewerkt door een moderator:
Je hoort niet vaak dat iemand klaagt dat een procedure te klein is. Weet je zeker dat het niet andersom is? Als een procedure te groot is, kun je hem in stukken opsplitsen. Bij te klein kun je natuurlijk altijd wat nutteloze commando’s toevoegen :).
 
Je hoort niet vaak dat iemand klaagt dat een procedure te klein is. Weet je zeker dat het niet andersom is? Als een procedure te groot is, kun je hem in stukken opsplitsen. Bij te klein kun je natuurlijk altijd wat nutteloze commando’s toevoegen :).

Lolz, ja te klein voor de inhoud :)
 
Vroeg of er een optie was in Excel om te kijken hoe groot je procedure was.
Simpele truc: kopieer je code naar Kladblok of Notepad++ en sla op als een tekstbestand. De grootte zie je dan bij de bestandsgrootte. Dat zal je voldoende indicitatie geven denk ik. Overigens is het feit dat je ongeveer een half uur moet scrollen voordat je één procedure van 64k hebt doorlopen ook al voldoende indicatie lijkt mij :).
 
En ik heb een macrootje gevonden die de lengte van een module kan uitrekenen. Dat werkt natuurlijk alleen goed als jouw macro als enige op een module staat.
Code:
Sub HowBig()
Dim ModSize As Double
    ModSize = Len(Application.VBE.ActiveCodePane.CodeModule.Lines(1, Application.VBE.ActiveCodePane.CodeModule.CountOfLines)) / 1000
    Msgbox ModSize
End Sub
 
@Octa

Dat lijkt me stug.

Je kunt iedere module exporteren. De omvang van dat .bas bestand geeft meteen het aantal tekens van de geëxporteerde module weer.

Een bovengrens van 64 K voor een module is natuurlijk achterlijk (in de zin van niet aangepast aan de hardware specifikaties anno 2018).

Een voordeel is wel dat deze beperking je dwingt om:
- een duidelijke struktuur vooraf te laten gaan aan het inkloppen van VBA code
- zoveel mogelijk alle redundantie uit je code te verwijderen (schrijven is schrappen)

Ik vermoed dat een stofkam door je code meer oplevert dan je afvragen wat de grenzen van VBA modules zijn.
 
Daarnaast kan je altijd tussentijds je project compileren, ter controle.
 
Dat lijkt me stug.
Wat bedoel je daar mee? Ik doe bij mijn weten nergens een stelling die tegengesproken kan/hoeft te worden :). Dat je een module ook kan exporteren als .bas had ik inderdaad ook nog bedacht; geeft hetzelfde bestandsformaat.
Maar ik denk dat iedereen het er wel over eens is dat een code die van zichzelf al boven de 64K uitkomt, vermoedelijk slimmer kan worden opgeschreven :).
 
Het aantal tekens in een module kan volgens mij niet gevonden worden door te veronderstellen dat iedere regel in de module 1000 tekens bevat.
En dat lijkt mij de vooronderstelling (= verzwegen bewering ;) ) van de door jou geplaatste macro.
Please correct me if I am wrong.:d
 
@Octa

Dat lijkt me stug.

Je kunt iedere module exporteren. De omvang van dat .bas bestand geeft meteen het aantal tekens van de geëxporteerde module weer.

Een bovengrens van 64 K voor een module is natuurlijk achterlijk (in de zin van niet aangepast aan de hardware specifikaties anno 2018).Een voordeel is wel dat deze beperking je dwingt om:
- een duidelijke struktuur vooraf te laten gaan aan het inkloppen van VBA code
- zoveel mogelijk alle redundantie uit je code te verwijderen (schrijven is schrappen)

Ik vermoed dat een stofkam door je code meer oplevert dan je afvragen wat de grenzen van VBA modules zijn.

achteraf is altijd een koe in de **** kijken zegt men :)

ja met stofkammen ook bekent en ben al druk bezig :)

Maar vroeg me dus af of er geen eenvoudiger manier was om de max. in de gaten te houden..

Vr. Gr. Dutch
 
Nee dus. Je kunt op basis van het aantal regels de grootte schatten (met de geleverde macro werkt dat perfect). Waarom zou je het nog makkelijker willen? Vind je een macro van twee regels te lang? De initiële reden van je vraag is nou juist dat dát nou niet niet je probleem is :).
 
Ok thanks OctaFish,

Volgende week (nieuwe jaar) er verder mee stoeien.

Mooi jaarwisseling

Vr. Gr.

Dutch
 
Status
Niet open voor verdere reacties.
Steun Ons

Nieuwste berichten

Terug
Bovenaan Onderaan