Poznámka:
Přístup k této stránce vyžaduje autorizaci. Můžete se zkusit přihlásit nebo změnit adresáře.
Přístup k této stránce vyžaduje autorizaci. Můžete zkusit změnit adresáře.
Proceduru uzavřete mezi příkazem počáteční deklarace (Sub nebo Function) a koncovým příkazem deklarace (End Sub nebo End Function). Veškerý kód procedury leží mezi těmito příkazy.
Procedura nemůže obsahovat jinou proceduru, takže její počáteční a koncové příkazy musí být mimo jakoukoli jinou proceduru.
Pokud máte kód, který provádí stejný úkol na různých místech, můžete úkol napsat jednou jako proceduru a pak ho volat z různých míst v kódu.
Vytvoření procedury, která nevrací hodnotu
Mimo jakoukoli jinou proceduru
Subpoužijte příkaz následovaný příkazemEnd Sub.Ve výrazu
Subpoužijte klíčové slovoSubnásledované názvem procedury a seznamem jejích parametrů v závorkách.Umístěte příkazy kódu procedury mezi
Subpříkazy aEnd Subpříkazy.
Vytvoření procedury, která vrací hodnotu
Mimo jakoukoli jinou proceduru
Functionpoužijte příkaz následovaný příkazemEnd Function.FunctionV příkazu postupujte podleFunctionklíčového slova s názvem procedury, pak seznam parametrů v závorkách a potomAsklauzuli určující datový typ návratové hodnoty.Umístěte příkazy kódu procedury mezi
Functionpříkazy aEnd Functionpříkazy.ReturnPomocí příkazu vrátíte hodnotu volajícímu kódu.
Propojení nového postupu se starými opakujícími se bloky kódu
Nezapomeňte definovat nový postup na místě, kde k němu má starý kód přístup.
Ve vašem starém, opakujícím se bloku kódu nahraďte příkazy, které provádějí opakující se úlohu, jediným příkazem, který volá proceduru
SubneboFunction.Pokud váš postup
Functionvrací hodnotu, ujistěte se, že volající příkaz provede akci s vrácenou hodnotou, například její uložení do proměnné, jinak bude hodnota ztracena.
Příklad
Následující Function postup vypočítá nejdelší stranu nebo hypotenuse pravého trojúhelníku vzhledem k hodnotám pro ostatní dvě strany:
Function Hypotenuse(side1 As Double, side2 As Double) As Double
Return Math.Sqrt((side1 ^ 2) + (side2 ^ 2))
End Function