Stránka 1 z 1

Vzorec (Index) s pomocí makra

Napsal: 04 črc 2013 14:14
od chimp
Dobrý den,

při tvorbě vlastní funkce jsem narazil na problém. Moc VBA neovládám, takže bych vás rád požádal o radu, proč se VBA nelíbí zápis vzorce Index (viz níže). Hlásí mi to Compile Error: Sub or Function not defined. Díky za ochotu.

Kód: Vybrat vše

Public Function Plan(odpracovano, rok)

' grade dle odpracovanych let

    Select Case odpracovano

        Case Is < Range("y4"): Grade = Range("Z3")
        Case Is < Range("y5"): Grade = Range("Z4")
        Case Is < Range("y6"): Grade = Range("Z5")
        Case Is < Range("y7"): Grade = Range("Z6")
        Case Is >= Range("y7"): Grade = Range("Z7")

End Select

' oblast dle pocitaneho roku

 Select Case rok

        Case Is = Range("AA2"): Oblast = Range("AA3:AA7")
        Case Is = Range("AB2"): Oblast = Range("AB3:AB7")
        Case Is = Range("AC2"): Oblast = Range("AC3:AC7")
        Case Is = Range("AD2"): Oblast = Range("AD3:AD7")
        Case Is = Range("AE2"): Oblast = Range("AE3:AE7")
 
End Select

Oblast2 = Range("Z3:Z7")

Plan = Index(Oblast, Match(Grade, Oblast2, 0))

End Function


Re: Vzorec (Index) s pomocí makra

Napsal: 04 črc 2013 15:33
od guest
Worksheetfunction.Index nebo Application.Index, když už..

Re: Vzorec (Index) s pomocí makra

Napsal: 08 črc 2013 16:14
od chimp
Jak jsem říkal, VBA moc neovládám... každopádně Worksheetfunction.Index pomohlo. Děkuji.

Mám následný problém, kdy mi tento vzorec nejde přepočítat jinak, než že vlezu do buňky a zmáčnu enter (běžně si přepočty vyvolávám F9, ale teď bez reakce). Celé to dělám pro testování různých scénářů a budu měnit některé základní parametry pro několik tisíc buněk, takže hromadný přepočet je žádoucí. Nemáte nějakou radu?

Re: Vzorec (Index) s pomocí makra

Napsal: 12 črc 2013 09:28
od guest
Nejsem si jistý,co vlastně děláte, nicméne pokud jste vytvořil vlastní funkci, používáte ji na listu a chcete zajistit přepočet vždy, umístětě do ní zkraje řádek kódu

Application.Volatile