Ahojte,
neumím přijít na chybu. Mám pole hodnot např. A1:AB25 a pomocí VBA - removeduplicates se snažím smazat řádky, které obsahují duplicitní hodnoty ve sloupcích A-C.
PosledniRadek = Cells(Rows.Count, 1).End(xlUp).Row
Range("A1:AB" & PosledniRadek).RemoveDuplicates Columns:=Array(1, 2, 3), Header:=xlYes
Jede to, ale nedělá mi to co má (po removeduplicates mi v seznamu vznikne "díra") - viz příloha - soubor Celkem.xlsm - ve Thisworkbook - úplně na konci.
Vysvětlení chodu prog:
1) Soubor "Celkem" tahá data z souborů umístěných v adr: Tendr
2) Jednotlivé soubory/data v adr:Tendr se časem mění, a proto je "Celkem" vždy při otevření smaže a načte znova.
3) Vyjímku tvoří Data u nichž došlo v "Celkem" k doplnění (uzavření smlouvy, Fakturace). Tyto data nejsou při znovuotevření "Celkem" smazány, ale jsou opětovně doplněny daty z "Tendr", takže se vyskytují duplicitně.
4) Aby se nyvyskytovaly 2x potřebuji očistit výše zmíněným, ale provádí krkolomně - pokud "Celkem" obsahuje souvislou oblast záznamů - sloupec SOD - označenou "x", tak po removeduplicates vznikají v seznamu prázdné díry. Přitom sloupec SOD by dle mne neměl být vůbec přes removeduplicates dotčen (není v array).
Jedná se o poslední řádek kódu. Takže při krokování, až po tento řádek vidím, že data jsou kompaktní. Neumím se pohnout.
Děkuji za radu.
Oblíbený formulář Faktura byl vylepšen a rozšířen.
Více se dočtete zde.
Používáte podnikový systém Helios iNuvio? Potřebujete pomoci se správou nebo vyvinout SQL proceduru? Více informací naleznete na stránce Helios iNuvio.