< návrat zpět

MS Excel


Téma: Vložení vzorce do buňky v jiném sešitě rss

Zaslal/a 2.1.2017 10:40

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.

Zaslat odpověď >

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

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.citovat
#034126
avatar
viz příloha (sešit s makrem + testovací sešit), kód VBA otevřený, akce na tlačítko, výběr sešitu, test na existenci listu prosinec a vzorce, hlášky v případě neúspěchu i úspěchu, sešit se přeukládá
Příloha: zip34126_opravenka.zip (23kB, staženo 36x)
citovat
#034129
avatar
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í.citovat
#034137
avatar
Všechny varianty blbobzdornosti bychom řešili týden, to je lepší jednou větou popsat instrukce.citovat

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

Sumar nakupov

Pavlus • 22.1. 13:05

VBA - načtení dat ze souboru s proměnným názvem

Fantasyk • 22.1. 9:12

Sumar nakupov

Robo11 • 21.1. 21:23

VBA - načtení dat ze souboru s proměnným názvem

€Ł мσşqμΐτσ • 21.1. 12:21

Tělo emailu ve VBA - formát

Fantasyk • 20.1. 20:47

odstranenie opakujucich sa udajov v riadkoch

frantilopa • 20.1. 18:12

odstranenie opakujucich sa udajov v riadkoch

marjankaj • 20.1. 18:01