[ mirjanagb @ 06.02.2009. 22:25 ] @
nasla sam jedan vba code koji pocinje sa: Function max(matrice As Range)

kako da startujem taj makro, tj to i nije makro, vec samo funkcija ... kako da u excel odradi tu funkciju?
[ timmy @ 06.02.2009. 23:32 ] @
Bitno je sta pise iz zatvorene zagrade tj. u delu As...

U svojoj proceduri deklarises tvoju promenljivu istog tipa i npr. promenljivu "opseg" tipa Range

Code:

  mm = max(opseg)


Ili bar probaj sa

Code:

  MsgBox max(Range("A1"))


Ili vec nesto slicno.

Kada bi ovde okacila kod a ne deo deklaracije mozda bi dobila i potpun i ispravan odgovor ;)

Pozdrav
[ mirjanagb @ 07.02.2009. 08:44 ] @
aaa sorry ja sam mislila da je dovoljno samo ovaj pocetni naziv

Code:

Function max_drawdown(matrice As Range)
Dim i, n As Integer
Dim diff, test As Single
n = matrice.Rows.Count
max_drawdown = 0
diff = 0
For i = 1 To n - 1
    test = matrice(i + 1) - matrice(i)
    If test <= 0 Then
        diff = diff + test
    ElseIf max_drawdown > diff Then
        max_drawdown = diff
        diff = 0
    End If
Next i
End Function
[ Jpeca @ 08.02.2009. 16:37 ] @
Nisam ulazio u to šta ova funkcija radi - uzima niz vrednosti i računa nekavu razliku susednih podataka, ali to i nije mnogo bitno.
Pretpostavljam da si kod koji imaš sačuvala unutar radne sveske.

Ukoliko želiš da pozoveš funkciju iz VBA koda uradi kao što je timmy rekao. Kao argument funckije definišeš oblast (range). Za konkretnu funkciju uzima se samo niz vrednosti složenih jedno ispod drugog npr A1:A7

Ukoliko želiš da pozoveš funkciju direktno sa radnog lista, pozivaš je kao i ugrađene funkcije. U ćeliji u kojoj očekuješ rezultat upišeš jednako i onda naziv funkcije i parametre:
Code:
=max_drawdown(A1:C7)


Ako ovu funkciju treba da koristiš u različitim radnim sveskama možeš je sačuvati unutar Personal Workbook. http://www.elitesecurity.org/t...ro-koji-ce-raditi-celom-Excelu
[ mirjanagb @ 10.02.2009. 13:24 ] @
hvala, hvala!

izracunala sam ... samo mi se u potpunosti ne poklapaju brojevi, rucno izracunati i pomocu ove funkcije.