Neobvezni parametrih v podprogramih - funkcijah

Pomoč pri izdelavi makrov
Odgovori
Buba
Prispevkov: 85
Pridružen: Sr Mar 12, 2008 11:49 am
Kraj: Maribor

Neobvezni parametrih v podprogramih - funkcijah

Odgovor Napisal/-a Buba »

Pozdravljeni!

A lahko napišemo podprogram, ki ima neobvezne parametre ( spremenljivke v glavi )?
Nekatere Excelove funkcije so takšne.
Seveda, če se da kako se to napravi?

Lep dan!
Buba
admin
Site Admin
Prispevkov: 3691
Pridružen: Sr Jul 20, 2005 10:06 pm

Re: Neobvezni parametrih v podprogramih - funkcijah

Odgovor Napisal/-a admin »

Pozdravljeni,

Očitno berete forum, da ste postavili tudi zadnje vprašanje :) :) Me je sicer kar malce zamikalo da bi napisal "DA!" in končal...

No odgovor je torej da, se pa to imenujejo opcijski parametri in se začnejo z rezervirano besedico optional.

Koda: Izberi vse

Sub sestej(prvi As Integer, Optional drugi As Integer = 12)
  MsgBox prvi + drugi
End Sub
In takšno funkcijo lahko potem kličete na dva načina:

Koda: Izberi vse

sestej 10
sestej 12, 30
Lahko imate več opcijskih parametrov, a slednji s lahko samo na koncu ali drugače povedano opcijskim parametrom ne sme slediti "navaden" parameter, ker potem VBA nikakor ne more vedeti, kateri parameter ste vi želeli vnesti!

Torej; tole ne gre:

Koda: Izberi vse

Sub sestej(prvi As Integer = 10, Optional drugi As Integer = 12, tretji as integer)
  MsgBox prvi + drugi + tretji
End Sub
lp,
Matjaž Prtenjak
Administrator
Buba
Prispevkov: 85
Pridružen: Sr Mar 12, 2008 11:49 am
Kraj: Maribor

Re: Neobvezni parametrih v podprogramih - funkcijah

Odgovor Napisal/-a Buba »

Živijo!

Ja čitam forum, čeprav bi v tem primeru najraje vprašal "Napišite mi makro, ki bo naredil ...". Pa šef ne da denarja za tako naročilo.
Hvala za potrpežljivost. :wink:
Buba
admin
Site Admin
Prispevkov: 3691
Pridružen: Sr Jul 20, 2005 10:06 pm

Re: Neobvezni parametrih v podprogramih - funkcijah

Odgovor Napisal/-a admin »

Če mu predstavite prednosti, bo hitro rekel da... ;) Samo zamislite si koliko čaa boste vi izgubili in koliko to stane....
lp,
Matjaž Prtenjak
Administrator
Odgovori