Jestli to má počítat makro, tak list kontingenčky je podle mě zbytečný.
Dále pokud to má počítat makro, tak bude vhodnější, aby letadla v listu zdroj nebyla poházená po listě, ale pěkně v jedné tabulce, tak jak je v přiloženém soboru.
V listu letecka máte podle mě chybu: buňka AI37 by podle mě měla být po nahrání prvního letadla prázdná. Teď je tam zapsáno 20.
Třeba takto:=MIN(POSUN(C2;0;0;COUNTIF($B$2:$B$11;B2);1)) nebo =MINIFS($C$2:$C$11;$B$2:$B$11;B2)
Já raději používám Do...Loop, For...Next, If...Then...Else, Select Case.
Přpadně odskok do jiné procedury nebo funkce.
1. Označit horní buňku ve sloupci
2. ctrl + shift + end
3. Pokud se označí více sloupců, tak při zmáčknutém shift mačkat šipku doleva, až bude vybraný jen jeden sloupce.
Tak to dejte třeba do úschovy a vložte odkaz nebo mi pošlete na mail jiri.dom@gmail.com
Bez příkladu těžko radit.
Obecně: vzoreček hodnoty vypočítává průběžně podle zadaných parametrů. Pokud se parametry průběžně mění, mění se i výsledek. Pokud chcete vypočítat hodnotu a zapsat ji napevno nebo pokud chcete napevno zapsat hodnotu, která se denně mění, tak to lze jedině přes makro.
S pomocným sloupcem HODINA a MINUTA
Nejde mi vložit soubor, tak alespoň vzoreček v pomocném sloupci "I":=KDYŽ(A(NEBO(HODINA(G5)<=4;HODINA(G5)>=22);NEBO(MINUTA(G5)<6;MINUTA(G5)>49));"Ano";"Ne")
Potom si mohu odfiltrovat "Ano"
Vzhledem k tomu, že není žádný příklad, jak to má vypadat, ale protože mě to zaujalo, tak přikládám jeden z možných postupů jak se dobrat cíle.
Pokud tam budou jen hodiny, tak pište čísla a pak je vydělte 24 a máte to ve formátu hh:mm. Potom ctrl+C, dále Vložit jinak -> vložit jako hodnotu
Záleží, co se s tím bude dít potom.
Napište "7:" nebo "7:0". Pak to vezme jako čas.
Vyhledání ID pomocí dvou polí. Načtu obě tabulky do pole a pak vyhledávám v poli.
JE to na začátku kódu: Sub doplnSmeny()
Dim pojistka As Integer
Dim pocetJmen As Integer, posun As Integer, prvniJmeno As Integer
Dim radek As Long, sloupec As Long, radek1 As Long
Dim denSmeny As Integer
Dim nasobek As Integer
Dim svatky() As Variant
pocetJmen = 8 'počet jmen v tabulce
posun = 11 'velikost tabulky (počet řádků)
prvniJmeno = 11 'číslo řádku, n akterém je první jméno (pozice tabulky)
Jedná se o proměnnou "posun". Určuje jak daleko jsou od sebe tabulky. Tzn. první měsíc (tabulka) je na řádku 10, další měsíc (tabulka) začíná na řádku 25. posun = 15
Proměnná prvniJmeno je v podstatě druhý řádek tabulky. Říká, na kterém řádku začíná seznam zaměstnanců.
Jednotlivé měsíce musí být od sebe vždy stejně "daleko".
Nejlepší je vždy přiložit přílohu. Klidně bez citlivých dat. Řešení se pak hledá lépe a je to i rychlejší.
to @Stalker: pěkný.
Možná by to ještě chtělo doplnit, aby se, po uložení nového souboru, smazaly ty nově vzniklé listy ve zdrojovém souboru.
Jestli jsou to všechny možné varianty, tak by to mohlo být třeba takto:=IFERROR(IFERROR(HODNOTA(NAHRADIT(A3;NAJÍT(".";A3);1;","));HODNOTA(CONCAT(MĚSÍC(A3);",";ZPRAVA(ROK(A3);2))));A3)
Ovšem G3, H3 je podle mě špatně. v řádku 7,8,9 je datum formátováno jako mm.rr a v řádku 3 jako dd.mm. Takže co je správně?
Oblíbený formulář Faktura byl vylepšen a rozšířen.
Více se dočtete zde.