SUB oder FUNCTION ist viel Geschmackssache dabei.
Nachteil von function ist der, daß du den Rückgabewert beim Aufruf auch immer angeben mußt, auch wenn er dich an der Stelle garnicht interessiert. (Laß mich das jetzt nicht erklären)
@Rage, stimmt eh so.
Byref (=> by reference => "durch die Adresse" ) ist eben die Adresse einer Variable,
byval ist aber die Addresse einer (temporären) Kopie der Variablen. Das ist zusätzlich Arbeit & Code. Die brauchst du aber aus zwei Gründen: entweder weil du nicht willst, daß die Sub/function die Variable unabsichtlich verändert, oder, wenn du KONSTANTEN übergeben willst, die es ja physisch garnicht gibt.