< 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

Formulář Faktura

Formulář Faktura IV

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

Helios iNuvio

Používáte podnikový systém Helios iNuvio? Potřebujete pomoci se správou nebo vyvinout SQL proceduru? Více informací naleznete na stránce Helios iNuvio.

On-line nástroje