diky za snahu
1)totiž je to takto: vytvářím často seznam o X řádcích a cca 10 sloupcích. Spousta informací které se objeví(a jejich formát) v každém řádku se dá zautomatizovat přes vzorečky-ovšem nakonec to potřebuju mít v bunkach bez vzorecku protoze s temi informacemi dělají další lidi, kteří by se se vzorci zaboha nesžili a taky jde o aktuálnost dat v daném okamžiku.
Důvod toho, proč nemám vzorcový řádek zároven v listu1(kde se vytváří nějaký seznam), je ten, že nemumím naučit makro aby se vrátilo na poslední pozici seznamu, kde by mělo vložit data ze vzorcového řádku. Když mám ovšem vzorcový řádek v jiném listě(list2) tak nic složitého s poslední pozicí umístění kurzoru nemusím vymýšlet - makro: lehce se přepnu do listu se vzorcovým řádkem - makro si zkopíruje vzorcový řádek(ten s daty vytvořenými pomocí vzorců),přepne se zpět do prvního listu kde vytvářím seznam a nechám data vložit z paměti do listu bez vzorečků -důležité je to,že kurzor v listě1 je tam kde jsem ho nechal když jsem se překlikával do listu2 - na konci seznamu. -To je celé makro. Posunu kurzor o řádek níž, nastavím si nové hodnoty ve vzorcovém řádku(podle hodnot se některým bunkám nastaví jiný formát) a spustím makro - to vloží nové hodnoty s novými formáty do seznamu -do řádku kde jsem po minulém vložení hodnot posunul kurzor - o řádek níž. Tak vzniká seznam.
Pokud bych se nějak naučil pamatovat si makro tu správnou polohu kurzoru - mám vyhráno. To je ovšem těžke protože pod seznamem který aktuálně vytvářím, je ten minulý a pod ním je ten předminulý - to kůli kontrole návaznosti dat (pro ostatní spolupracovník,já bych to nějak kontroloval skrze vzorce). Takže nějaké vzorce na poslední neprázdnou bunku nelze použít.
2A) - ano,když se spustí (v tom souboru co jsem uploadoval) v listu1 tak se bunka zkopíruje blbe. Až po druhém zkopírování(druhém stisku tlačítka v listu1 se konečně formát zkopíruje správně. Když ovšem stisknete tlačítko v druhém listě, které spouští to samé makro - tak se formát zkopíruje(vloží) do listu1 správně napoprvé.
2B)sice pronikám do tajů maker (nějaké si nahraju a pak ho zkoumám v OO Basicu) ...ale zas takový borec jeste nejsem
zkoušel jsem na to takové finty jako třeba že se to má vložit do daného řádku dvakrát zasebou na stejné místo (díky té zkušenosti že po druhém stisknutí tlačítka se to podařilo) - taky nefungovalo
To s tím přepočítáváním (F9) opravu funguje! Tak jsem se to okusil zakomponovat do makra a nefungovalo to - ikdyž jsem při zááznamu makra F9 zmáčknul tak se při vykonání makra to zmáčnutí asi nestalo. Ikdyž v basicu to vypadá že se přepočítání vykonává,tak to stejně nefunguje:
rem ----------------------------------------------------------------------
dispatcher.executeDispatch(document, ".uno:Calculate", "", 0, Array())
Jediné z těchto možných řešení by pomohlo ale nevím jak na něj:
1) naučit makro pamatovat si původní pozici kurzoru po jeho přesunutí a po vykonání úkonu umístit kurzor zpět na původní pozici. - JO!to by bylo supr kdyby existovala nějaká fce. která by vracela jako hodnotu pozici kurzoru v jeho n-té změně před jeho poslední změnou. např.: název fce. LASTCURPOS(3) a to by znamenalo že se objeví v této bunce souradnice kurzoru,kde byl než třikrát změnil polohu. ...kdyby kdyby
2)zprovoznit přepočítání sešitu v makru (F9)-jde přepočítání spustit jinak než F9?
3)zmáčknout tlačítko v listě2 aniž bych v tomto listě byl. - makro které mačká tlačítko v listě2 ? - zkoušel jsem ale nešlo(ikdyž při nahrávání makra vše fungovalo)(ale makro jsem "nahrával" - neprogramoval a zdálo by se mi podezřelé kdyby to opravdu nešlo ani naprogramovat)
4)udělám si 3 vzorCové řádky s předdefinovanými formáty bunek (ano mám jen tři kombinace formátů bunek které se v seznamu obměnují) a naučím makro si vybrat jeden z těchto tří řádků ke zkopírování. - což je to co neumím - dá se nějak lidsky udělat makro, které by podle nějaké hodnoty v bunce vědělo že má spustit to správné ze tří maker(1. makro pro zkopírování 1. řádku,2.M pro 2.Ř a 3.M pro 3.Ř)?
5)...už třičtvrtě hodiny sestavuji tuhle odpověd a nechám si o možném řešení zdát...