Založen: Nov 07, 2005 Příspěvky: 1527 Bydliště: Studénka
Zaslal: so leden 18 2014, 18:06 Předmět: Hledám pomoc s Makrem v Open Office Calc
Vytvořil jsem si "Nahráním makra" v Open Office Calc makro, které umí vytvořit v datové tabulce prázdný řádek na doplnění dat. Makro tvoří tato sekvence jednoduchých funkcí (viz přiložený textový dokument Makra):
- Odemkne list.
- Vybere souvislou oblast dat od počáteční buňky do konce datové oblasti v šířce 8 sloupců.
- Zkopíruje vybranou oblast o řádek níže.
- Vymaže data ve všech 8 buňkách z prvního řádku, odkud se kopírovalo, ale vzorec v jednom sloupci zůstane.
- Uzamkne list.
Hledám poradce, který dokáže pevně nastavenou počáteční buňku Value = "$B$49" nahradit sekvenci, která přečte buňku, aktuálně vybranou před spuštěním makra, a makro tak bude pracovat s různou počáteční buňkou podle potřeby uživatele.
Ten přechod na počáteční buňku je v makru na třech místech:
args3(0).Value = "$B$49" ...... výchozí buňka pro výběr oblasti
args14(0).Value = "$B$49" ..... návrat na výchozí buňku, odkud pak je posun o buňku níže jako počátek pro vložení kopie
args26(0).Value = "$B$49" ..... návrat na výchozí aktivní buňku
Pročetl jsem už mraky návodek pro VBA Open Office (např http://www.openoffice.cz/doplnky/mala-makra-v-openoffice-org a jiné), ale nikde jsem nenašel postup, jak přečíst a uložit aktuální adresu aktivní buňky do proměnné, kterou bych nahradil tu pevnou adresu "$B$49".
Jsem na programování ve VBA laik a samouk, a tak mne nekamenujte. To moje "nahrané makro" je pro programátora asi úsměvné a šlo by výrazně zkrátit, ale nejde o to makro, ale jde o to, jak do něj dostat tu aktuální aktivní buňku.
Dík za pomoc.
Založen: Nov 07, 2005 Příspěvky: 1527 Bydliště: Studénka
Zaslal: so leden 18 2014, 20:45 Předmět:
Pořád ale zůstane stejný problém. Musím předem vybrat pozici, kam chci řádek vložit (kam potřebuji vložit dodatečně nová data), a tu pozici pak po spuštění Makra přečíst do Makra a následně Makrem vykonat požadované operace.
Tvoje myšlenka na to, jak tu operaci provést, je samozřejmě jedna z možných. Pokud však zvolím v makru vložení celého řádku, musím do vloženého řádku nakopírovat další vzorce, které jsou za výběrem těch 8 sloupců a ještě opravit vzorec v jednom sloupci pod vloženým řádkem. Vložením řádku se ze vzorce přes dva sousední řádky např. =E48-F48+G47 udělá chybný vzorec =E49-F49+G47 místo potřebného =E49-F49+G48. Doplnění a oprava více vzorců by bylo ve výsledku složitější, než mnou zvolený postup nastíněný v dotazu, kde jsou všechny vzorce zachovány..
Nemůžete odesílat nové téma do tohoto fóra. Nemůžete odpovídat na témata v tomto fóru. Nemůžete upravovat své příspěvky v tomto fóru. Nemůžete mazat své příspěvky v tomto fóru. Nemůžete hlasovat v tomto fóru. Nemůžete připojovat soubory k příspěvkům Můžete stahovat a prohlížet přiložené soubory
Informace na portálu Elektro bastlírny jsou prezentovány za účelem vzdělání čtenářů a rozšíření zájmu o elektroniku. Autoři článků na serveru neberou žádnou zodpovědnost za škody vzniklé těmito zapojeními. Rovněž neberou žádnou odpovědnost za případnou újmu na zdraví vzniklou úrazem elektrickým proudem. Autoři a správci těchto stránek nepřejímají záruku za správnost zveřejněných materiálů. Předkládané informace a zapojení jsou zveřejněny bez ohledu na případné patenty třetích osob. Nároky na odškodnění na základě změn, chyb nebo vynechání jsou zásadně vyloučeny. Všechny registrované nebo jiné obchodní známky zde použité jsou majetkem jejich vlastníků. Uvedením nejsou zpochybněna z toho vyplývající vlastnická práva. Použití konstrukcí v rozporu se zákonem je přísně zakázáno. Vzhledem k tomu, že původ předkládaných materiálů nelze žádným způsobem dohledat, nelze je použít pro komerční účely! Tento nekomerční server nemá z uvedených zapojení či konstrukcí žádný zisk. Nezodpovídáme za pravost předkládaných materiálů třetími osobami a jejich původ. V případě, že zjistíte porušení autorského práva či jiné nesrovnalosti, kontaktujte administrátory na diskuzním fóru EB.