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

Jste zde: Úvodní stránka » excel » vba-listy-bunky » excel-vba-komentare-moznosti

Jak na komentáře - Excel VBA

Videokurzy Excel

Ve spolupráci se SEDUO jsem vytvořil několik videokurzů:

Co vše lze provádět s komentářem v MS Excelu za využití VBA.

Doplněno: 26.7.2014

Úvodem do komentářů - VBA Excel

Microsoft Excel logo

S komentáři ve VBA jdou vytvářet zajímavé věci. V tomto článku je popsáno co, lze s komentářem provádět, včetně příslušných kódu. Včetně sešitu ke stažení pro vaše další pokusy. Pro přehlednost je článek rozdělen an kapitoly:


Proč komentáře?

Ač se to nezdá je to velice dobrá pomůcka. Osobně využívám nejen k rozšíření nápovědy. Takto mohu jednoduše napovědět uživateli, proč a co má do buňky zadávat. Po čase zjistíte, že informace v komentářích pomohou i vám, když se po roce vrátíte k vámi vytvořenému sešitu, tak ihned víte co bylo vzorcem v dané buňce myšleno (nemusíte si uchovávat v paměti několik desítek šablon a výpočtu, proč a co konktétním výpočtem bylo myšleno, málokdo má paměť jako slon).

Bohužel v praxi jsou poznámky málo využívany, přitom ve spojení s VBA mají všestrané využití. Praktické použití komentářů ve spojení s VBA je popsáno v tomto článku.

Obsahuje buňka komentář

Nejprve zjistíme zda buňka obsahuje komentář

If ActiveCell.Comment Is Nothing Then MsgBox "Nebsahuje komentář." Else komentarVBunce = ActiveCell.Comment.Text MsgBox "Obsahuje komentář." & komentarVBunce End If

Případně tento komentář vypíšeme do dialogového okna.

If ActiveCell.Comment Is Nothing Then MsgBox "... Bez komentáře ..." Else komentarVBunce = ActiveCell.Comment.Text MsgBox "Obsahuje komentář:" & komentarVBunce End If

Vložit komentář do buňky

Jeden z nejčastějších úkolu.

Vložit komentář z dialogového okna

Požadovaný text, který chceme do komentáře, zadáme v zobrazeném dialogovém okně.

If ActiveCell.Comment Is Nothing Then novycmnt = InputBox("Vlož nový komentář:", , cmnt) ActiveCell.AddComment Text:=novycmnt Else cmnt = ActiveCell.Comment.Text novycmnt = InputBox("Přepis původní komentář", , cmnt) ActiveCell.Comment.Text Text:=novycmnt End If

Zkopírujeme do komentáře text z buňky

Vhodné například, když potřebuji ukázat jak vypadáý vzorec v buňce.

If ActiveCell.Comment Is Nothing Then ActiveCell.AddComment.Text Text:=ActiveCell.FormulaLocal End If

Smazat komentář

Celý komentář

Jak odstranit komentář.

ActiveCell.Comment.Delete

Text v komentáři

Potřebujeme-li smazat text v komentáří, ale komentář ponechat:

If ActiveCell.Comment Is Nothing Then Else ActiveCell.Comment.Text Text:=" " End If

Zobrazit/skrýt komentář

Jak pomocí VBa kódu skrývat a zobrazovat komentáře:

Range("E6").Comment.Visible = True

nebo pro všechny

For Each c In ActiveSheet.Comments c.Visible = False Next

Upravit komentář

Formát textu

Vložit a upravit komentář (barva, velikost, font). Vloží text a nastaví formát fontu.

Dim cmt As Comment Set cmt = ActiveCell.Comment If cmt Is Nothing Then ActiveCell.AddComment Text:="dddd" Set cmt = ActiveCell.Comment With cmt.Shape.TextFrame.Characters.Font .Name = "Times New Roman" .Size = 15 .Bold = False .ColorIndex = 0 End With End If

Upravit již hotový komentář

If ActiveCell.Comment Is Nothing Then Else With ActiveCell.Comment.Shape.TextFrame.Characters.Font .Name = "Times New Roman" .Size = 15 .Bold = True .ColorIndex = 3 End With End If

Tvar komentáře

Místo obdelníku bude komentář vypadat jako hvězdička

If ActiveCell.Comment Is Nothing Then Else With ActiveCell.Comment.Shape .AutoShapeType = msoShape32pointStar .Line.Visible = msoFalse End With End If

Pozadí komentáře

Přidání stínu pro komentář

If ActiveCell.Comment Is Nothing Then Else With ActiveCell.Comment.Shape .Shadow.Type = msoShadow7 .Shadow.ForeColor.SchemeColor = 55 .Shadow.Visible = msoTrue .Shadow.OffsetX = 2 .Shadow.OffsetY = 2 End With End If

Další možné efekty

V přípravě...

Změnit umístění komentáře

Potřebujemeli komentář posunout. Opět za využití VBA.

ActiveCell.Comment.Shape.Top = ActiveCell.Comment.Parent.Top + 30 ActiveCell.Comment.Shape.Left = ActiveCell.Comment.Parent.Left + 30

Poznámka: komentář musí být zobrazen. Pokud se zobrazuje automaticky posunutí pouhým najetím myši nepoznáte.

Originální pozice komentáře

ActiveCell.Comment.Shape.Top = ActiveCell.Comment.Parent.Top + 5 ActiveCell.Comment.Shape.Left = ActiveCell.Comment.Parent.Offset(0, 1).Left + 5

Změna jména

Do poznámky se již nebude psát vaše jméno (UserName, které je zadáno v systému). Co text poznámka.

Application.UserName = "Poznámka"
Microsoft Excel VBA komentáře

Ke stažení

Soubor Komentáře jak na ně v Excel VBA soubor ve formátu *.xlsm ke stažení zdarma. Soubor využívá makra (pro správnou funkci nutno povolit spouštění maker).

Ukázkové příklady, testováno Excel 2007 a Excel 2010 (česká verze) pod Windows 7.


Závěrem

Předpokládám, že jsem probral všechny základní činosti, které lze s komentářem provádět. Můžete doplnit do komentářů pod článkem.

Č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


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"; } } } ?>




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 |