Přidat otázku mezi oblíbenéZasílat nové odpovědi e-mailem Excel - úprava kopírujícího makra

OK, měnící se zadání - zvláště je-li autorem šéf - znám velmi dobře, cítím s Tebou ]:)

Ad 1)
To už jsem Ti psal, musíš udělat zásah v tom makru pro přidání řádku (vypnout a pak zapnout vyvolání události)

Ad 2)
Tohle je oříšek, protože xistuje celá řada možností a způsobů, jak lze ukočit editaci buňky (ENTER, TAB, šipky, myší, ...) a v závislosti na tomto ukončení se pak kurzor někam posune (nahoru, dolů, vpravo,...). Tohle obsloužit by bylo značně problematické, navíc bys stejně neošetřil případy, kdy uživatel ukončí editaci buňky klávesou ENTER, což ho hodí na další řádek, ale on se šipkami (nebo kliknutím myší) vrátí zpět do předchozího řádku a ještě něco tam změní (a to udělá třeba 5x).
Nejčistší řešení - editaci buněk umožnit jen pomocí formuláře, který bude obsahovat všechny zadávané hodnoty pro jeden řádek (tj. buňky budou zamčené, nebude je možné ručně editovat).
Formulář buď může být stále zobrazen (pak by měl obsahovat prvky pro pohyb v datech), nebo se může vyvolávat kliknutím na tlačítko či kombinací kláves. Vždy ale bude platit, že bude obsahovat data z jednoho řádku. Dále tam bude tlačítko "Uložit", kterým se ty data uloží do buněk - a taky se hned může vytvořit kopie. Takže makro navázané na změnu buňky už nebude potřeba, vše si budeš obsluhovat z formuláře. Stejně ale nezabráníš třeba tomu, že uživatel bude chtít změnit 3 hodnoty na tom řádku a po každé změně stiskne "Uložit" - budeš mít 3x zálohu.
Druhé řešení je hodně provizorní a bude velice záležet na disciplině uživatelů - na konci řádku bude speciální buňka, do které bude muset uživatel po ukončení editace řádku něco napsat (např. "x") a Ty pak spustíš kopírování (a obsah té buňky vymažeš). Samozřejmě - pokud tam uživatel nic nenapíše, kopie se nevytvoří. Naopak, pokud tam bude zapisovat neustále, budeš mít třeba 20 stejných kopií (šlo by to ošetřit testováním, zda se od posledního zápisu tohoto řádku něco změnilo).
Druhý způsob bych pravděpodobně nepoužil ani v krajní nouzi, jen jsem se tu zmínil, jak to taky jde udělat.

Reakce na odpověď

1 Zadajte svou přezdívku:
2 Napište svou odpověď:
3 Pokud chcete dostat ban, zadejte libovolný text:

Zpět do poradny