Hledám pomoc s Makrem v Open Office Calc

Software potřebné k práci s elektronikou

Moderátor: Moderátoři

Odpovědět
Zpráva
Autor
Uživatelský avatar
Brozicek
Příspěvky: 1645
Registrován: 07 lis 2005, 00:00
Bydliště: Studénka

Hledám pomoc s Makrem v Open Office Calc

#1 Příspěvek od Brozicek »

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-m ... office-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.
Přílohy
Basic VBA Open Office.txt
(7.7 KiB) Staženo 124 x
Uživatelský avatar
sewerman_cz
Příspěvky: 289
Registrován: 13 úno 2011, 00:00
Bydliště: Brno
Kontaktovat uživatele:

#2 Příspěvek od sewerman_cz »

A nebylo by jednodušší udělat makro které na zvolené pozici vloží řádek = posune vše pod ním dolů a následně vyplní požadovanou buňku vzorcem?
Uživatelský avatar
Brozicek
Příspěvky: 1645
Registrován: 07 lis 2005, 00:00
Bydliště: Studénka

#3 Příspěvek od Brozicek »

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..
Uživatelský avatar
neutr
Příspěvky: 1
Registrován: 02 úno 2014, 00:00

#4 Příspěvek od neutr »

Poslal jsem emailem pár maker jestli je to ono nevím. Odzkoušejte se postavit třeba do listu 2 a spusťte makro
Odpovědět

Zpět na „Software“