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

Functie <> Macro

Status
Niet open voor verdere reacties.

longron

Gebruiker
Lid geworden
2 apr 2007
Berichten
361
Beste alle,

het is mij niet echt duidelijk wat beter is om te gebruiken.

Is het beter om een functie te maken van een routine die ik veel gebruik of kan ik beter een "gewone" macro gebruiken?


Wat is jullie advies?

thanks,


Ronald
 
Daar is natuurlijk maar weinig over te zeggen zonder de situatie te kunnen zien.
Functies gebruik je om een waarde terug te geven aan een vragende kant.
 
Laatst bewerkt:
zoals Edmoor al aangaf, alles hangt van de situatie af.
Geef je in 1 keer een bult nieuwe gegevens en moeten die éénmalig herrekend worden, dan gebruik je een macro.
Staan er ergens enkele cellen in je werkblad en in een derde cel wil je up-to-date resultaat, dan gebruik je een functie.
Dat zijn de 2 zwart-wit situaties, daar heb je nog 50 grijstinten tussenin.
Dus wat is jouw situatie, donker- of bleekgrijs ?
 
Dank alle.

Wat heb ikl. Tja
een roosterprogramma voor ongeveer 80 mensen met ongeveer 30 verschillende diensten en met met per dag en per dienst een minimum bezetting.
Met diensten die ervoor zorgen dat de cel van kleur veranderd. Met dagtelling per dienst en per discipline.
Dat dus. Enig is dat als ik sommige routines draai. bv kleur aanzetten van een maand het programma even bevriest.

Maar dan doorloopt hij ook wel een lange routine met veel aanpassingen.

waat is nog wel mee zit is dat ik te veel verwijzingen gebruik ipv loops. met if then. Dat heb ik nog niet goed onder de knie.

Een aantal aanpassingen zoals de opmaak van cellen zou misschien beter als functie gemaakt kunnen worden. Er hoeft niets terug gegeven te worden.

Groetjes

Ronald
 
Ik verwacht dat de oorzaak van het bevriezen totaal niets te maken heeft met Sub of Function maar met hoe die code in elkaar steekt.
 
dat laatste zou best kunnen maar als ik de routine draai dan loopt hij goed. geen fouten en hij doet wat ik wil.
denk zelf dat het uitlezen van celwaarde en aanpassen van de cellen, de voorwaardelijke opmaak het probleem is.
Zal kijken of ik dit in een bestandje kan zetten.
 
Wie wil daar nu mee werken?
Alleen maar spielerei en niet functioneel.
 
Sorry hoor, want ik zie wel dat je er veel werk in hebt zitten, maar:
Niet mee te werken en niet te onderhouden.
Al die Application.Run opdrachten zullen de snelheid zeker niet ten goede komen.
Vervang dat in iedere geval door normale aanroepen.
 
@ HSv dank voor je opmerkingen.
Of je loop me behoorlijk in te maling te nemen of ..
Mischien kun je dan wel vertellen wat niet functioneel is?
Het programma wordt al een lange tijd gebruikt. werk op zich goed. Maar is zeker voor verbetering vatbaar.
Met zo een opmerking kan ik helemaal niets.

@ Edmoor. applicatie.run vervangen door alleen de aanroep van de routine. Maar die vind hij toch niet als hij in een andere module staat?
 
Jazeker wel.
Als je er een Public Sub van maakt.
 
@ HSv dank voor je opmerkingen.

Met zo een opmerking kan ik helemaal niets.
Het zegt iets over dat ik het niet ga openen, wat staat me nog meer te wachten?
Ik en anderen hebben daar nu eenmaal een hekel aan.
Hetzelfde als een Userform die ik niet kan sluiten met het kruisje.
 
de nu geplaatste versie is wel op een "gewone" manier te sluiten.

ik heb daarvoor met CustumUIEditor het menu aangepast.
( voor de gebruikers er mezelf is het al zo gewoon het te doen via het eigen menu.)
 
Wat die Public Sub betreft vergiste ik me.
En Sub kan gewoon worden aangeroepen als deze in een andere module staat.
 
Je hebt een punt VenA, het bestand is grotendeels zoals het wordt gebruikt. ik kan het uitkleden tot het minimum maar vraag me al of het dan nog draait door de verwijzingen binnen het programma.
ik ga kijken wat kan.
 
@ Edmoor. als ik de aanroep doe vanuit een andere module (zonder applicatie.run) dan krijg ik een melding dat de sub of functie niet is gedefinieerd :(
 
Als je jouw eigen code begrijpt dan moet het uitkleden geen enkel probleem zijn.;)
 
Laat daar eens een voorbeeldje van zien dan.
 
Status
Niet open voor verdere reacties.
Terug
Bovenaan Onderaan