Archive for May, 2012

Jak utworzyć własną formułę w Excelu

Tuesday, May 1st, 2012

Do tej pory często poruszałem temat procedur Sub, które wykonywały określone zadanie po czym ich rola zwykle się kończyła lub ograniczała się do wielokrotnego wykonania sekwencji identycznych czynności. Teraz omówię sposób utworzenia własnej formuły do zastosowania w komórkach Excela. Zakładam że masz problem ze znalezieniem tej właściwej formuły lub chcesz się po prostu dowiedzieć jak to zrobić.

Istotą działania formuły jest to że zwraca ona jakąś wartość w zależności od argumentów lecz niczego nie robi z formatem komórki.
Do utworzenia formuły potrzebujemy więc utworzenia funkcji w kodzie VBA. Robi się to podobnie jak w przypadku procedur Sub z tą różnicą że zamiast wyrażenia Sub nazwa () piszemy Function nazwa () funkcję zamykamy wyrażeniem End function

Mniej więcej tak

Function mojafunkcja () as Type
kod funkcji
End Function

oczywiście zamiast słowa type wpisujemy prawidłowy typ danych jaki ma zwracać nasza funkcja np Byte albo String albo Variant itp

i jeszcze coś ważnego:
zawsze przed słowami End Function przekazujemy wynik obliczeń lub działania formuły ze zmiennej do nazwy funkcji

wygląda to tak

Function mojafunkcja (jakaśzmienna1) as Type

‘coś tam się dzieje w naszej funkcji ze zmienną jakaśzmienna1

mojafunkcja=jakaśzmienna1
End Function

Przykładowa banalnie prosta funkcja zamieniająca mile na kilometry wyglądałaby tak

Function milenakm (mile as integer) as single
milenakm=mile*1,6
End function

Kod funkcji podobnie jak kod procedur Sub umieszczamy w Module VBE
ownformula1.png

ownformula2.png

ownformula3.png

ownformula4.png

ownformula5.png

W trakcie pisania artykułu posiłkowałem się tą książką
Vademecum Walkenbacha