Příspěvky uživatele


< návrat zpět

Strana:  « předchozí  1 2 3 4 5 6 7   další »

Dobrý den, prosím o tip na pokud možno jednoduché řešení tohoto požadavku, pokud to jde.
Potřebuji v tabulce s evidenční agendou (1 záznam = 1 řádek různých údajů v jednotlivých buňkách) do buňky (nacházející se v daném sloupci) každého záznamu vybrat a vložit trvale hodnotu z definovaného seznamu. Použití klasického rozevíracího seznamu pomocí funkce ověření dat nepřichází v úvahu (i když by to bylo ideální), protože chci hodnoty vybírat podle jejich "názvu", nikoli podle hodnoty samotné. Název bude mít každá hodnota jedinečný. Hodnot v seznamu není moc - řádově do 20. Seznam může být umístěn na jiném listu a vypadat tak, že bude tvořen dvěma sloupci, v levém budou názvy a v pravém hodnoty.

To xlnc: Funguje to perfektně, ještě líp, než jsem si uměl představit 1 Moc děkuju. Jen budu muset uživatele instruovat, že sešit, ve kterém hodlají opravit vzorec, musí být zavřený. S dialogem, který je vyvolán při tom když je otevřený, by si někteří možná neporadili. Ale to je banální.

xlnc napsal/a:

Když na to bude čas, odpoledne bych to spáchal. Nicméně si rozmyslete tu blbovzdornost (test na název vybraného sešitu, ...).


Test by mohl bý postaven na ověření, zda je vybraný soubor sešitem aplikace Excel a v uvedené buňce se nachází chybný vzorec:
=KDYŽ(G15=0;0;ZAOKROUHLIT(SUMA(G20)/G15*100;3))
V případě negativního výsledku testu by se zobrazila zpráva a makro by se ukončilo.

Sešit obsahuje listy obsahující výkazy o užívání služebního auta. Každý list představuje příslušný kalendářní měsíc (leden až prosinec). Určitá data se v rámci výpočtů v daném měsíci berou z měsíců předcházejících. Takto vytvořenou aplikaci v Excelu používá v rámci firmy cca 50 uživatelů.
A teď k problému, který potřebuji vyřešit. Právě jsem zjistil chybu ve vzorci v listu prosincového výkazu. Vzhledem k tomu, že 11 měsíců již aplikaci uživatelé používají (výkazy jsou vyplněny daty), je nezbytné provést opravu chybného vzorce v těchto sešitech u všech uživatelů.
Potřebuji uživatelům distribuovat „opravný balíček“, který by zajistil opravu – přepsání chybného vzorce vzorcem správným. Je to třeba udělat tak, aby to bylo pro uživatele (úroveň dovednosti práce s Excelem je u nich rozdílná) co nejjednodušší.
Představuji si makro, které bude součástí za tím účelem vytvořeného jinak prázdného sešitu (nevím jak jinak), které by po jeho otevření uživatel spustil (např. tlačítkem v listu).
Řekněme, že je potřeba změnit vzorec v sešitě, který by měl uživatel v rámci úvodního dialogu spuštěného makra vybrat ve svém počítači (to proto, že každý uživatel může mít sešit uložen v PC na jiném místě a také i pod jiným názvem), na listu s názvem „prosinec“ v buňce „G22“.
Vzorec, který se má do buňky vložit je:
=KDYŽ(G15=0;0;ZAOKROUHLIT(SUMA(leden:prosinec!G20)/G15*100;3))
List je zamčený – bez hesla, takže makro musí nejprve list odemknout a potom jej zase zamknout.
Bylo by vhodné makro mít ošetřené vůči případným chybám. Předpoklad je, že všichni uživatelé používají Excel 2007 a vyšší.
Může mi s tím makrem prosím někdo pomoci? Nebo pokud by měl někdo elegantnější řešení, budu rád.

Pánové, všem děkuji za příspěvky. Jen na doplnění k mému původnímu dotazu. V podstatě uznávám, že požadavek postrádá smysl, protože lze k cíli obecně dospět jinak a elegantněji, což jste někteří z vás vystihli. Šlo o případ existující tabulky s ručně rozlišenými buňkami barvou (nezávisle na hodnotách v nich) podle kriterií mimo tabulku. Hledal jsem tedy nějaké rychlé a pokud možno jednoduché řešení pro jednorázovou analýzu dat. To se mi díky vaší pomoci podařilo a navíc jsem zase o něco chytřejší.

Krajda napsal/a:


Vyzkoušel jsem a funguje to 1 Ale vůbec to nechápu. Ten vzorec jsem nějak nepobral... především funkce "O.POLÍČKU" mi nic neříká. A kčemu slouží ten konec: "+NYNÍ()*0´"? Mohu poprosit o podrobnější popis vzorce? Pracuji s Excelem 2016. Děkuji.

Dobrý den, potřebuji v tabulce vyfiltrovat řádky podle barvy buněk v určitém sloupci. Vím, že Excel filtrování podle barvy od verze 2007 umí, ale nepřišel jsem na to, jak nastavit filtrování současně podle 2 nebo více barev v jednom sloupci. Lze to? Díky.

marjankaj napsal/a:

Zamkni celý list vyber bunku v žltej oblasti a spusti makro a zadaj vstupnú hodnotu.Příloha: 31962_zamkni.zip


To vypadá zajímavě. Díky za předložené řešení. Sice bych uvítal řešení bez makra, ale asi to jinak nepůjde. Pokud jde o VB jsem úplný začátečník, takže nevím, jak se mi podaří v zápise zorientovat a provést potřebné úpravy.
Jestli můžu, tak mám v zájmu vylepšení ještě několik podnětů.
1. Šlo by hodnotu vložit/vymazat najednou do/ze všech buněk, které budou označeny?
2. Ve stávajícím formuláři mám u buněk, určených k zapisování hodnot uživatelem, nastaveno ověření dat (vlastní), často prostřednictvím vzorce odkazujícího se na hodnoty nebo výsledky vzorců v jiných buňkách ve skryté části listu. Má to zamezit vkládání nekorektních hodnot. Toto řešení samozřejmě nefunguje při vložení hodnoty jinak, jak zápisem z klávesnice. Šlo by toto ošetřit univerzálně v rámci makra a zabít tak 2 mouchy jednou ranou? Mám na mysli např. vyskakovací okno s upozorněním na nekorektní vstup, případně s návodným textem a možností zadat jinou hodnotu.
3. Funkce zamykání listu po každém vložení hodnoty je zbytečné. Uživatel má k dispozici výlučně sešit zabezpečený proti nežádoucím změnám zamčením listů chráněným heslem.

Zdravím. Prosím o radu u následujícího problému. V zamknutém listu, na němž je vytvořen formulář, jsou oblasti buněk, které nejsou záměrně uzamknuty pro účely vyplňování hodnot. U těchto buněk potřebuji elegantně zamezit, aby uživatel upravoval hodnoty pomocí operací "vyjmout" a "vložit". Důvod je ten, že těmito kroky se kromě hodnot přenášejí také formáty, včetně podmíněného formátování, což způsobuje rozbití a narušení funkčnosti nastavených navázaných funkcí v rámci formuláře. Má tento požadavek nějaké řešení?
Děkuji za případné podněty.

Moji představu správně pochopil AL. Ano, v zadání jsem měl chybu, v první větě má být: "...12 listů pojmenovaných List_1 až List_12." (už opraveno)
Chtěl jsem vyjít ze vzorce, jak uvádí lubo. Nefunguje to ale s nepřímým odkazem - sestavil jsem následující vzorec, který se mi v prvním příspěvku nepodařilo vložit:
SUMA(NEPŘÍMÝ.ODKAZ("List1:"&ČÁST(POLÍČKO("filename";G20);NAJÍT("]";POLÍČKO("filename"))+1;31)&"!G20")) Vrací ale chybu #REF!, u verze Excel 2016 potom #ODKAZ!

Dobrý den,
prosím o pomoc s tímto řešením. Sešit má 12 listů pojmenovaných "List_1" až "List_12". V každém je stejná tabulka. Potřebuji sestavit vzorec, který bude použit v tabulce každého listu a bude sčítat hodnoty buněk na adrese G20 ze všech listů v rozsahu List_1 až List_n. List_n je list ve kterém se nachází vzorec. Sestavil jsem tento vzorec, ale vrací chybu Odkaz!

Slíbil jsem zpětnou vazbu, tady je. Modifikoval jsem a pro originální aplikaci poněkud rozvedl navržená řešení. Pro zajímavost toto je funkční výsledek mého snažení:
=KDYŽ($A49="";"";ZAOKROUHLIT(SUMA(KDYŽ(JE.CHYBHODN(($U$14:$U$44)/(($V$14:$V$44)+($W$14:$W$44)));0;KDYŽ($BX$14:$BX$44=2;($U$14:$U$44)/(($V$14:$V$44)+($W$14:$W$44)+($V$13:$V$43)+($W$13:$W$43));($U$14:$U$44)/(($V$14:$V$44)+($W$14:$W$44))))*KDYŽ($BX$14:$BX$44=2;(($X$2:$BA$2=$A49)*(($X$14:$BA$44)+($X$13:$BA$43))+($W$2:$AZ$2=$A49)*(($X$14:$BA$44)+($X$13:$BA$43)));(($X$2:$BA$2=$A49)*($X$14:$BA$44)+($W$2:$AZ$2=$A49)*($X$14:$BA$44))));0))
I když bez vysvětlujícího komentáře, detailního zadání a hlavně bez přiložené reálné tabulky je to poněkud celkem málo říkající. Mohu případně doplnit, kdyby byl zájem.
Asi by to šlo ještě upravit a trochu tak zjednodušit a zkrátit, ale já jsem rád, že to funguje, jak má.
Díky ještě jednou, že jste mě nakopli, bez Vás bych to nedal. 9

Pánové, omlouvám se a chápu Vaše rozhořčení. Z mé strany to nebyla léčka a snad ani zhovadilost. V zájmu co nejstručnějšího popisu, jsem opomněl upozornit na to, že kombinace číselných a textových hodnot jsou výsledkem jiných vzorců. V modelové tabulce jsem vepsal varianty hodnot, jak je vrací v originální tabulce vzorce. Zítra Vaše řešení vyzkouším a dám vědět. Zatím díky moc za reakce.

Řeším analytický problém u rozsáhlé tabulky dat, kde potřebuji souhrnně vyčíslit součet poměrných částí z celkových cen (řádek po řádku) v závislosti na poměru jednotek v jednotlivých kategoriích.
Vše, tedy uspořádání dat a zadání, vyplývají z modelové tabulky v listu přiloženého sešitu.
Ve spodní části listu jsou pomocí rozfázovaného výpočtu cílové výsledky z hodnot obsažených v tabulce nahoře. Způsob uvedeného výpočtu je pouze pro názornost, v této podobě je to nepoužitelné. Pomocné výpočty (v originální tabulce by se obtížně včleňovaly) jsou v modře podbarvených buňkách.
Rád bych jednotlivých cílových výsledků (zeleně podbarvené buňky) dosáhl pomocí jediného vzorce, pokud to jde.
Pomůže mi s tím někdo? Předem moc děkuji.

Moc děkuji, úkol jste navzdory (nebo možná díky 1 ) mému složitému popisu problematiky pochopil správně. Zobrazuje se to co má a součty také fungují jak mají. Vaším řešením a úpravami jste cestu k cíli výrazně zjednodušil. Na vysvětlenou, pracuji na vývoji formuláře již poměrně dlouho a postupem času a s jednotlivými jeho verzemi se zadání doplňovalo i měnilo, takže tím možná došlo někde i k překombinovaným krokům řešení.
Jen bych ještě poprosil, když už jste do toho proniknul, o to vzestupné seřazení zakázek v souhrnech tak, jak to bylo původně, má to svůj význam.
Také budu muset obejít použití funkce IFERROR, formulář se bude používat i ve verzích Ecelu 2003.
A mám jeden malý dotaz k těm skalárním součinům ve vzorcích pro součty. Uniká mi, proč se ta pole dělí tou jedničkou?


Strana:  « předchozí  1 2 3 4 5 6 7   další »

Uživatelské menu

Nejste přihlášen(a)
avatar\n

Menu

On-line nástroje

Formulář Faktura

Formulář Faktura IV

Oblíbený formulář Faktura byl vylepšen a rozšířen.
Více se dočtete zde.

Aktivní diskuse

Spustit makro v určitý čas

Baja • 28.11. 20:11

Spustit makro v určitý čas

elninoslov • 28.11. 17:09

Spustit makro v určitý čas

Baja • 28.11. 12:51

Spustit makro v určitý čas

elninoslov • 28.11. 0:31

Spustit makro v určitý čas

Baja • 27.11. 22:22

Spustit makro v určitý čas

Anonym • 27.11. 22:20

Spustit makro v určitý čas

elninoslov • 27.11. 21:11