< návrat zpět

MS Excel


Téma: Najít závislost ověření dat na jiných buňkách rss

Zaslal/a 7.3.2017 15:13

Dobrý den, poradí někdo, jak odhalit buňku/buňky, na něž je prostřednictvím její/jejich adresy odkazováno v nastaveném ověření dat u jiné buňky/jiných buněk někde v listu? Jinak řečeno potřebuji u rozsáhlé tabulky, ve které jsou jednak hodnoty, jednak spoustu vzorců a také nastavená ověření dat pro zadávání hodnot do buněk, zjistit závislosti výsledků ověření na hodnotách jiných buněk, popřípadě potvrdit, že takové závislosti v listu neexistují.
Vzhledem k rozsáhlosti tabulky se mi nechce jít cestou vyhledání všech buněk, kde je nastaveno nějaké ověření (což excel umí) a u nich pak u všech jednotlivě nahlédnout do nastavení ověření, co tam je nastaveno.
Děkuji předem za jakýkoli podnět.

Zaslat odpověď >

Strana:  1 2 3 4   další »
#035323
avatar
Nejako som sa v tom stratil.citovat
#035324
avatar
Nevím, jestli je pro čtenáře k nepochopení vlastní požadavek nebo jeho účel.
Dejme tomu, že mám dodělat rozpracovaný formulář, který na základě vyplněných údajů má provádět různé výpočetní analýzy. Ve skrytých sloupcích jsou pomocné výpočty. Výsledky některých z nich, v podobě odkazu na ně, jsou také použity pro Ověření dat u buněk, které vyplňuje uživatel. Ověření dat je nastaveno proto, aby uživatel nemohl vložit nekorektní hodnotu. Jde o docela dlouhodobý vývoj sofistikovaného formuláře, takže je reálná možnost, že v rámci pomocných výpočtů existují nyní buňky, které již nejsou potřeba, tzv. byly překonány třeba jiným vývojovým řešením, a bylo by možné je odstranit. Nejprve je ale nutné ověřit, zda na ně skutečně není někde odkazováno. Zda se neuplatňují někde v jiných vzorcích, lze jednoduše ověřit pomocí Závislosti vzorců ("předchůdci"/"následníci"). Ale závislost, která je navázaná v nastavení funkce "Ověření dat" jednoduše zjistit nelze.
Je teď můj záměr pochopitelnější?citovat
#035325
avatar
Nie.
Také niečo ako príloha by nebola?citovat
#035328
Jeza.m
Jestli dobře chápu, tak máš například buňku A1, kterou bys rád smazal, ale před tím si chceš ověřit, že se na ní něco neodkazuje.
U vzorců to je jednoduché, ale tebe by zajímalo, jestli není součástí ověření dat u jiné buňky.
Což bude docela oříšek, ověření může mít jakákoliv buňka, takže bys musel jít buňku po buňce a ověřovat má-li ověření.
Pokud ano, tak projít vzorec ověření a hledat jestli se v něm daná buňka nevyskytuje, nejen přímo, ale i formou oblasti. Ověření může být i formou pojmenovaných názvů, kdy bys musel hledat odkazy daných názvů. No a nakonec existuje i něco jako nepřímé odkazy a tam už si to ani představit neumím.
Ale tak třeba tady bude někdo moudřejší :-)
M@citovat
#035333
avatar
Jeza.m pochopil velmi dobře a popsal problém v obecné rovině, v nejširších možných souvislostech a variantách. Za to děkuji.
O něco to zjednoduším. Jak jsem napsal prve, najít buňky s nastaveným ověřením excel umí, takže zde bych potíž neviděl. Dále co s jistotou vím, názvy v tomto případě použity nejsou. Odkazy na oblasti nejspíš ano. Nepřímé odkazy v rámci vzorců v ověření dat určitě také nejsou.citovat
#035358
Jeza.m
Po tom "zjednodušení" mě napadlo, vytvořit si pomocný list.
Pak makrem vyhledat všechny buňky s ověřením, projet je a vzorec ověření zapsat na tento pomocný list, vedle něj pak vždy uvést buňku ve které se ověření nachází.
Když pak klikneš na buňku kterou chceš smazat a dáš si najít následníky, tak by to mělo najít i buňky z tohoto listu, kde pak zjistíš, o kterou buňku se jedná.

Jen takový tip :-)
M@citovat
#035360
avatar

Jeza.m napsal/a:

Po tom "zjednodušení" mě napadlo, vytvořit si pomocný list.
Pak makrem vyhledat všechny buňky s ověřením, projet je a vzorec ověření zapsat na tento pomocný list, vedle něj pak vždy uvést buňku ve které se ověření nachází.
M@

A skúšal si makrom "projet bunku s overením"?
Ja som si nahral makro ktoré upravilo zoznam overenia. Prvé čo urobilo bolo vymazanie overeného zoznamu.(Validation.delete)
Možno sa na to dá ísť nejako inak.citovat
#035361
Jeza.m

marjankaj napsal/a:

Jeza.m napsal/a:Po tom "zjednodušení" mě napadlo, vytvořit si pomocný list.
Pak makrem vyhledat všechny buňky s ověřením, projet je a vzorec ověření zapsat na tento pomocný list, vedle něj pak vždy uvést buňku ve které se ověření nachází.
M@
A skúšal si makrom "projet bunku s overením"?
Ja som si nahral makro ktoré upravilo zoznam overenia. Prvé čo urobilo bolo vymazanie overeného zoznamu.(Validation.delete)
Možno sa na to dá ísť nejako inak.


Nezkusil, ale na základě tvého příspěvku už pak teda jo a v pohodě :-) ...
Public Sub Najdi()
Dim Activesh As String
Dim PomocnyList As Worksheet
Dim rd As Single
Activesh = ActiveSheet.Name
Set PomocnyList = Sheets.Add
PomocnyList.Name = "Pomocny"
PomocnyList.Range("A1:B1") = Split("Vzorec;Buňka", ";")
rd = 2

Sheets(Activesh).Activate
ActiveSheet.Cells.SpecialCells(xlCellTypeAllValidation).Select
For Each cell In Selection
PomocnyList.Cells(rd, 1).Formula = cell.Validation.Formula1
PomocnyList.Cells(rd, 2) = cell.Address
Next
End Sub

Jen jsem narazil na možný problém a to že ve vzorci v ověření může být čistě odkaz na buňky, bez listu, což pokud je (jako v mém příkladu) vypíšeme do jiného listu, tak to fungovat nebude, pak by se muselo řešit výpisem do stejného listu do nějaké nepoužívané oblasti.
Nicméně je to jen tip
M@citovat
#035365
avatar

Jeza.m napsal/a:

...
Jen jsem narazil na možný problém a to že ve vzorci v ověření může být čistě odkaz na buňky, bez listu, což pokud je (jako v mém příkladu) vypíšeme do jiného listu, tak to fungovat nebude, pak by se muselo řešit výpisem do stejného listu do nějaké nepoužívané oblasti.
Nicméně je to jen tip
M@

Na tvůj příspěvek musím reagovat tím, že problém analýzy se týká pouze jednoho listu, tedy buňky s Ověřením by byly ve stejném listu jako buňky, na které by případně bylo v ověření odkazováno. Ještě podotýkám, že Ověření může být nastaveno nejen vzorcem při výběru ověřovacího kriteria "Vlastní", ale také pouhým odkazem na buňku, pokud je zvoleno kterékoli jiné ověřovací kriterium, kde se zadává rozmezí hodnot, hodnota min/max, větší/menší než atd.citovat
#035367
Jeza.m
Pak by to nějak mohlo fungovat v rámci stejného listu, s tím že oblast pro výpis jsem nastavil na AA:AB, což lze změnit dle počtu používaných sloupců. Tyto pomocné pak lze smazat.

Public Sub Najdi()
Dim rd As Single
Range("AA1:AB1") = Split("Vzorec;Buňka", ";")
rd = 2

ActiveSheet.Cells.SpecialCells(xlCellTypeAllValidation).Select
For Each cell In Selection
Range("AA" & rd).Formula = cell.Validation.Formula1
Range("AB" & rd) = cell.Address
rd = rd + 1
Next
End Sub


M@citovat

Strana:  1 2 3 4   další »

Uživatelské menu

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

Menu

Formulář Faktura

Formulář Faktura IV

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

Helios iNuvio

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.

On-line nástroje