Jednoduché, přesto užitečné makro pro porovnání dvou seznamů se zvýrazněním rozdílů.
V projekční praxi poměrně často potřebuji porovnat 2 seznamy, zkontrolovat, jestli jsou stejné a pokud ne, najít rozdíly. Může to být například dříve vytvořený seznam dotčených parcel, který potřebuji zkontrolovat s novým seznamem vyexportovaným ze situace po provedení řady změn.
Provést takové porovnání Excel samozřejmě umí, dokonce několika způsoby. Jeden (s dalšími odkazy) je například na této stránce. Pokud uživatel ovládá vyhledávací a logické funkce nebo dokonce databázový jazyk SQL, nemá problém. A pokud ovládá VBA, může si napsat makro přesně podle svých představ a potřeb. Jedno takové (v několika mírně odlišných variantách) jsem vytvořil. I přes svoji jednoduchost mi ušetřilo spoustu času a práce. Dávám ho zde k dispozici.
Základní makro se jmenuje Porovnat_1. Předpokládá, že ve sloupci A je první seznam a ve sloupci B druhý. Vezme tyto seznamy, seřadí je a vloží do sloupců D a E tak, že shodné hodnoty jsou na stejném řádku a rozdílné nemají protějšek. Varianta makra s názvem Porovnat_1_B navíc rozdíl barevně zvýrazní:


Varianty Porovnat_2 a Porovnat_2_B pracují naprosto stejně pouze s tím rozdílem, že seznamy mohou ležet kdekoli a jejich polohu určuje uživatel. Stačí vždy zadat pouze první buňku seznamu mimo hlavičku, v předchozím příkladu to jsou buňky A2, B2 a D2. Pokud seznam obsahuje i prázdné buňky, je třeba vybrat celou jeho oblast.
Pozor: Pokud buňky v cílové oblasti nejsou prázdné, budou bez výstrahy přepsány!
Sešit s uloženými makry a ukázkovými seznamy je ke stažení zde:
Pokud je tento sešit otevřen, je možno porovnávat seznamy i v jiných otevřených sešitech, stačí spustit makro z sešitu Porovnat:

(Dialog Makro lze rychle otevřít klávesovou zkratkou Alt + F8.)
Zdrojový kód maker je dostupný v editoru VBA (Alt + F11). Je možné ho libovolně upravovat.