---
title: "Excel+VBA – odlišení buněk s vzorcem"
id: "129"
type: "post"
slug: "excelvba-odliseni-bunek-s-vzorcem"
published_at: "2015-06-10T03:26:01+00:00"
modified_at: "2023-08-13T15:30:56+00:00"
url: "https://www.kapler.cz/excelvba-odliseni-bunek-s-vzorcem/"
markdown_url: "https://www.kapler.cz/excelvba-odliseni-bunek-s-vzorcem.md"
excerpt: "Možná to znáte – máte Excelovou tabulku a potřebujete mít sloupec, kde hodnoty počítáte nějakým vzorcem, ale zároveň je někdy potřebujete přepsat fixní hodnotou. Jenže pak se třeba změní kurz či něco podobného a vy potřebujete nějak snadno identifikovat buňky..."
taxonomy_category:
  - "Programování"
taxonomy_post_tag:
  - "Excel"
  - "funkce"
  - "VBA"
---

# Excel+VBA – odlišení buněk s vzorcem

Možná to znáte – máte Excelovou tabulku a potřebujete mít sloupec, kde hodnoty počítáte nějakým vzorcem, ale zároveň je někdy potřebujete přepsat fixní hodnotou. Jenže pak se třeba změní kurz či něco podobného a vy potřebujete nějak snadno identifikovat buňky s fixní hodnotou – můžete je dát najít (CTRL+G / Special / Constants), ale to je…

Uveřejněno

10. 6. 2015

Rubrika

[Programování](https://www.kapler.cz/category/programovani/)

Autor

Tomáš Kapler

Značky:

[Excel](https://www.kapler.cz/tag/excel/)
, [funkce](https://www.kapler.cz/tag/funkce/)
, [VBA](https://www.kapler.cz/tag/vba/)

Možná to znáte – máte Excelovou tabulku a potřebujete mít sloupec, kde hodnoty počítáte nějakým vzorcem, ale zároveň je někdy potřebujete přepsat fixní hodnotou.

Jenže pak se třeba změní kurz či něco podobného a vy potřebujete nějak snadno identifikovat buňky s fixní hodnotou – můžete je dát najít (CTRL+G / Special / Constants), ale to je někdy nepohodlné, raději byste takové buňky měli rovnou nějak odlišené.

Nebo máte nějakou sdílenou tabulku a potřebujete přehledně najednou identifikovat, které buňky jsou počítány automaticky a která jsou k ručnímu vyplnění …

Vhodným způsobem, jak naformátovat nějaké buňky automaticky na základě splnění nějaké podmínky je podmíněné formátování (Home / Conditional formating) – zde můžete nadefinovat vzorec a formát buňky, který bude použit v případě, že výsledkem vzorce je kladná odpověd.

Takže se nabízí testovat, zda-li daná buňka obsahuje vzorec, jenže Excel nemá žádnou vestavěnou funkci, která by říkala, jestli je buňka konstanta či vzorec. Proto si takovou funkci musíte nejdříve přidat, a to pomocí skriptovacího jazyka VBA (co je to VBA a jak se s ním dělá je mimo záběr tohoto článku, vysvětlím případně jindy).

```
Public Function HASFORMULA(ByVal cell As Range) As Boolean
 ' Returns whether the cell contains a formula.
 On Error Resume Next
 HASFORMULA = cell.HASFORMULA
End Function
```

Tahle krátká uživatelská funkce zajistí, že když pak napíšete třeba do buňky B1 vzorec =HASFORMULA (A1), tak vám vrátí TRUE v případě, že v A1 je vzorec a FALSE když nikoliv. Tenhle vzorec pak můžete použít třeba právě v tom podmíněném formátování.
