Ve spolupráci se SEDUO jsem vytvořil několik videokurzů:
Jak provádět výpočty funkcí pomocí VBA, přímo na pozadí VBA.
Obdržel jsem dotaz: "Jak zapsat výsledek běžné funkce do proměnné, t.j. aniž bych ji napřed zapsal do buňky a pak četl z buňky do proměnné. "
Jak elegantně tento výpočet provést přímo na pozadí VBA a do příslušné buňky vložit jen výsledek? Toto se dozvíte v tomto článku.
Druhá možnost je provést výpočet vložení funkce (vzorec) do příslušné buňky, jak jsem popsal v článku Zapiš vzorec (funkci) do buňky a poté přečíst výslednou hodnotu jak je sepsáno v článku: Přečti údaj z buňky - Excel VBA.
Využít Application.WorksheetFunction
Jak na výpočet funkce SUBTOTAL.
MojeHodnota = Application.WorksheetFunction.Subtotal(9, Range("G:G"))
Jak na výpočet funkce SUMA.
Posledni = Cells(Rows.Count, "A").End(xlUp).Row
MojeSuma = Application.WorksheetFunction.Sum(Range("A1:A" & Posledni))
Dim vysledek As Variant
vysledek = Application.WorksheetFunction.VLookup(12,Range("A1:E1000"),3,FALSE)
Jak kontrolovat případné chybné výpočty funkce:
Dim vysledek As Variant
On Error Resume Next
Err.Clear
vysledek = Application.WorksheetFunction.VLookup(12,Range("A1:E1000"),3,FALSE)
If Err.Number = 0 Then
' Hodnota je OK, bude pokračovat
Else
' Chybová hodnota místo pro další kód
End If
Dim vysledek As Variant
vysledek = Application.WorksheetFunction.VLookup(12,Range("A1:E1000"),3,FALSE)
If IsError(Res) = False Then
' Hodnota je OK, bude pokračovat
Else
' Chybová hodnota místo pro další kód
End If
vysledek = Application.WorksheetFunction.VLookup(12,Range("A1:E1000"),3,FALSE)
MsgBox (vysledek)
nebo
vysledek = Application.WorksheetFunction.VLookup(12,Range("A1:E1000"),3,FALSE)
Debug.Print vysledek
Využíváte WorksheetFunction? Máte nějaké zajímavé kódy? Můžete doplnit do komentářů.
Článek byl aktualizován: 19.09.2020 11:06
Pomohl vám článek? Vyřešili jste problém? Můžete mě podpořit zakoupení tabulky (samozdřejmě čokoládové), když kafe nepiji ;) Odkaz na zakoupení čokolády. Za veškerou podporu vám děkuji a samozdřejmě jí využiji do zdokonalování a rozšířování webu.
Případně přidejte odkaz na vaši oblíbenou sociální síť, případně využijste hashtag #JakNaExcel .
Děkuji za váš čas a doufám, že jste nalezli odpověď na svůj problém.
Narazili jste v článku na nejasnost, chybu? Máte tip na vylepšení nebo doplnění článku? Budu rád pokud se zmínite v komentářích.
Microsoft Office (Word, Excel, Google tabulky, PowerPoint) se věnuji od roku 2000 (od dubna roku 2004 na této doméně) - V roce 2017 jsem od Microsoft získal prestižní ocenění MVP (zatím 8x za sebou). Své vědomosti a zkušenosti dávám k dispozici i on-line ve videích pro SEDUO. Ve firmách školím a konzultuji, učím na MUNI. Tento web již tvořím přes 20 let (o Excel píší přes 25). Zdarma je zde přes 1.500 návodu, tipů a triků, včetně přes 350 různých šablon, sešitů a přes 70 taháků v pdf.
Pomohl Vám návod? Sdílejte na Facebooku, G+ |
||
LinkedIn... |
Stránky o MS Office (Excel) produktu společnosti Microsoft. Neslouží jako technická podpora.
| Email na autora: pavel.lasak@gmail.com | Copyright © : Pavel Lasák 2004 - 2025 |