< návrat zpět

MS Excel


Téma: Return? rss

Zaslal/a 17.9.2010 7:37

Ahoj,
nějak se nemůžu dopátrat toho, jak se ve VBA zapisuje return hodnoty v procedůře. Jestli to teda VBA vůbec umí. VB.net má klasickou funkci return proměné v procedůře.
Př:

If O = 1 then
return False
Else
return true
End if

Tento zápis je použitelný u VB.net, ale Excel mi to nějak nebere. Je tam na to ve VBA jiný trik, nebo to vůbec neumí? 3

Zaslat odpověď >

icon #002461
Poki
Zdravim, nejsem zadnej programator, takze mozna moje odpoved bude nepresna, ale myslim, ze jedinou moznosti je ulozit to do promenne...citovat
#002462
avatar
Což do proměné, nerad bych vytvářel globální proměnou jenom kvůli také krávovině. Jen jsem chtěl, zda VBA má možnost, jak z procedůry navrátít nějakou hodnotu. Ať už typu Boolean, integer nebo jakou koliv proměnou.
Jestli ale ani Poki neví, tak to vypadá, že to bude Excelu chybět 7

Jako příklad je procedůra s heslem. Vytvořím si procedůru s parametre string a je to..

Sub ZkouskaHesla (password as string)
if password = "mojeheslo" then
return true
else
return false
end if
end sub

Kde koliv když potřebuju vstup ověřit heslem můžu volat tuto procedur jako například:

...
If ZkouskaHesla(vstupoduzivatele) = true then
...

U hesla je to jednoduché, ale mám tu trochu větši procedůru, kterou se mi nechce vkládat na několik míst kódu. Rád bych jenom jednu s tím, že jí budo volat a potřebuju jenom, aby mi nějakou hodnotu vrátila. 3citovat
icon #002463
Poki
aha, uz tomu rozumim - to si misto klasicky procedury udelej funkci, kterou pak budes volat!
neco jako tohle: Public Function Heslo(password As String)
If password = "mojeheslo" Then
Heslo = True
Else
Heslo = False
End If
End Function

A pak si tu funkci zavolas v normalni procedure:Sub volani()
Dim p As String
p = "mojeheslo"
If Heslo(p) = True Then
MsgBox "TRUE"
Else
MsgBox "FALSE"
End If
End Sub
citovat
#002464
avatar
Ach tááák, takže return ve VBA není, ale dělá se to pomocí funkce.
Vynikajíc Poki, opět děkuji 4citovat

Uživatelské menu

Nejste přihlášen(a)
avatar\n

Menu

On-line nástroje

Formulář Faktura

Formulář Faktura IV

Oblíbený formulář Faktura byl vylepšen a rozšířen.
Více se dočtete zde.

Aktivní diskuse

Vynásobit hodnoty kurzem - Power Query

lubo • 25.4. 19:18

Relativní cesta - zdroje Power Query

elninoslov • 25.4. 15:12

Relativní cesta - zdroje Power Query

Alfan • 25.4. 15:08

Relativní cesta - zdroje Power Query

elninoslov • 25.4. 14:21

Relativní cesta - zdroje Power Query

Alfan • 25.4. 10:49

Relativní cesta - zdroje Power Query

elninoslov • 25.4. 10:47

Relativní cesta - zdroje Power Query

Alfan • 25.4. 10:40