Přeskočit navigaci | Přeskočit na novinky
     

Jste zde: Úvodní stránka » excel » vba-listy-bunky » vysledek-funkce-do-promenne-excel-vba

Výsledek funkce do proměnné - VBA Excel

Videokurzy Excel

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.

Úvodem

MS Excel 2010 - Logo

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.


Jak na to?

Využít Application.WorksheetFunction

SUBTOTAL

Jak na výpočet funkce SUBTOTAL.

MojeHodnota = Application.WorksheetFunction.Subtotal(9, Range("G:G"))

SUMA

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)

Kontrola chyb

Jak kontrolovat případné chybné výpočty funkce:

(1)

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

(2)

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

Výpis hodnoty

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

Závěrem

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

Odměna

Ušetřil vám tento web čas, peníze? Pomohl vyřešit problém? Jste ochotni poskytnout symbolickou odměnu na další rozvoj? Vybrte si formu odměny, která vám vyhovuje.


Pavel Lasák - autor webu

Pavel Lasák

Microsoft Office (Word, Excel, Google tabulky, PowerPoint) se věnuji od roku 2000 (od 2004 na této doméně) - V roce 2017 jsem od Microsoft získal prestižní ocenění MVP (zatím jsem jediný z ČR v kategorií Excel). 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 15 let. Zdarma je zde přes 1.000 návodu, tipů a triků, včetně přes 250 různých šablon, sešitů.

   Pavel Lasák LinkedIn Profil    Pavel Lasák Google+ Profil    Pavel Lasák facebook Profil    Pavel Lasák twitter Profil

" ; echo "google_adtest=\"on\"; " ; echo "" ; echo "TEST REKLAMNIHO SYSTEMU" ; } else { echo "" ; } ?>

Komentáře

" ; // echo "kompletni_cesta :" ; // echo $adresar_pro_vkladani ; // echo "
" ; // echo " Tady bude možnost přidání komentáře" ; // echo "
" ; // echo "
" ; $kompletni_cesta = "komentare"; $adresar_pro_vkladani = $kompletni_cesta; ?> \n"; reset($polozky); while (list($key, $val) = each($polozky)) { if ($val != "." && $val != "..") { if (!is_dir($val)) { // echo "$val
\n"; $fp = FOpen ($adresar_pro_vkladani."/".$val, "r"); //otevře soubor book.dat pro čtení $data = FRead ($fp, FileSize($adresar_pro_vkladani."/".$val)); //přečte data ze souboru a uloží do proměnné "data" - kvůli tomu aby se zobrazoval poslední příspěvek nahoře FClose($fp); echo "$data"; } } } ?>

" ; echo "google_adtest=\"on\"; " ; echo "" ; echo "TEST REKLAMNIHO SYSTEMU" ; } else { echo "" ; } ?>


Excel


Sdílejte

Pomohl Vám návod?
Sdílejte na Facebooku, G+
LinkedIn...

Nové články


Reklama


TOPlist Licence Creative Commons webarchiv rss XML

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 - 2020 |