To by som videl jedine na makro.
A prečo by to mal byť problém ? Ľavý Alt+F11, alebo karta Vývojár (ak ju nevidíte treba ju v Možnostiach zobraziť)-Visual Basic. A tam si nájdite makrá, ktoré sú buď v moduloch alebo priamo pod jednotlivými listami.
Napr...
lubo: Veľmi zaujímavé riešenie, a bez matice. Pomocou MATCH/POZVYHLEDAT sa dá nájsť Index nálezu, a VLOOKUP/SVYHLEDAT rovno hodnota. Pekné, pekné.
Len tak z brucha bez PC, skúste maticovo
=INDEX(A1:A1000;MAX((A1:A1000<>"")*(ROW(A1:A1000))))
Dajte prílohu, nech vidíme, či nejako makro neexitne Vaše udalosti.
Rozdielne sú deklarácie API funkcií. Od Office 2010 treba používať "PtrSafe" a niektoré parametre niektorých API sú namiesto Long - LongPtr.
Trochu bordel, ale to už je pokročilejšie. Keď sa po to dostanete, budete už vedieť použiť aj podmienený debuging (alebo ako sa to môže v Exceli volať), kde sa určuje pomocou # čo sa má použiť.
Link napr tu
=SUMIF(A1:A12;"<"&TODAY();B1:B12)
=SUMIF(A1:A12;"<"&DNES();B1:B12)
A čo tak takto ?
Aha, ono mi to nevložilo prílohu... Tak tu je. A pochopil ste ma správne.
Ďalšie 2 možnosti:
=INDEX(B1:B3;MATCH(C1;A1:A3;0))
=INDEX(B1:B3;POZVYHLEDAT(C1;A1:A3;0))
=VLOOKUP(C1;A1:B3;2;FALSE)
=SVYHLEDAT(C1;A1:B3;2;NEPRAVDA)
A keď často meníte položky v rozbaľovacom zozname (Overenie dát), tak asi meníte aj ich počet, teda si dajte Definovaný názov na aktuálny rozsah. Najjednoduchší mi príde ten VLOOKUP/SVYHLEDAT v kombinácii s dynamickým rozsahom. Skúste dopísať alebo vymazať položku v zozname, a uvidíte rozdiel medzi dynamickým J1 a nedynamickým rozsahom C1.
Skúste niečo takéto
Len tip :
Ak to potrebujete vykonať pre pre ten list, na ktorý práve skáčete cez to "data" v Goto, tak ten je práve aktívny. Teda skúste
ActiveWorkbook.ActiveSheet.SortFields.Clear
tak?
Neviem, či som Vás pochopil správne...
Oblíbený formulář Faktura byl vylepšen a rozšířen.
Více se dočtete zde.