Fórum pro uživatele kancelářského balíku OpenOffice | LibreOffice
 

#52 Re: Calc » Prosim, pomozte s Makrem/Funkci » 4. 10. 2010 21:48:14

ahojte,jsem tu po delší odmlce zpět, ale nejspíš toto bude pro "místní" zívačka:
potřebuju aby se mi do bunky nastavil pomocí makra tento vzorecek:
=IF(A(jaky_radek)<1;"ano";"ne")
mam napsane k tomuto tuto cast makra(uz pouzivam dlouho takze vim ze problem je jen zde):
list.getCellByPosition(0,0).SetFormula("=IF(A(jaky_radek)<1;""ano"";""ne"")")
Problem mam s tou promennou "jaky_radek" - nevim jak to tam zadat aby to OO bral jako definouvanou promennou, ktera se meni(např. jednou je to č. 6 někdy 55 apod.-aby vznikla nějaá souřadnice A6 nebo A55). Tak jak to mam napsane nyní, tak to tam OO cpe jako text a vzorec je nefunkcni
Spravny obsah bunky A1 by mel byt: "=IF(A55<1;"ano";"ne")"
diky za tipy

#53 Calc » Makro se neuloží » 6. 9. 2010 08:52:43

dech
Odpovědí: 4

Ahojte,
semtam se mi stane, že se mi neuloží makro v calcu.
Prostě si makro takhle pěkně píšu, navážu na tlačítka - vše funguje jak má. Uložím dokument, zavřu dokument, otevřu dokument, zmáčknu tlačítko, které spouští makro a ejhle se objeví chyba, že takové makro neexituje. Podívám se do BASICu a ono tam opravdu není. To se mi stává někdy, těžko říct kdy. Není to tak, že by nějaká starší makra, která jsou v calcu uložena, že by mizela-to ne, ale ty nová, které zrovna píšu tak ty se jaksi neuloží i když to všechno uložím. Toto neplatí pro jakákoliv data uložená v listech-jen se mi to stává s makry.
Nevíte někdo co to může být za nesmysl a jak tomu předejít?
diky

#55 Re: Calc » Countif » 27. 8. 2010 09:14:59

ahojte, snažím se přijít na to jak zjistit počet řádků odpovídající více než jedné podmínce. Snažím se použít countif nebo dcount. Hledal jsem tu na fóru,ale nenašel...
Podmínkou součtu řádků je rovnost jejich textů v sloupci A i B

barva   prostředek    správný součet(zde je vzorec,který hledám)
modrá   motorka               3
modrá   motorka               3
modrá   motorka               3
bílá    auto                  1
bílá    motorka               2
bílá    motorka               2

A teď-nevíte někdo jak by momhl vypadat takový vzorec, který by toto počítal?

někde jsem viděl tohle(když dám k prvnímu řádku): =COUNTIF(A1:B6;"modrá|motorka") vysledek je 8-což je blbě (sčítá vše dohromady-3modrá+5motorka)

DCOUNT zase potřebuje svou zvláštní minitabulečku bokem s parametry vyhledávání-kdyby toto šlo nějak obejít tak by byl DCOUNT dobré, např.: =DCOUNT(A1:B6;0;"barva=modrá";"prostředek=motorka") by mělo vyjít 3,ale hází to chybu :-(
díky

#56 Re: Calc » kontingenčnú tabuľku spustiť automat. » 26. 8. 2010 18:40:33

našel jsem další makro jak aktualizovat KT - je založený na tom, že to makro umístí kurzor do míst kde je KT(uživatel musí definovat-makro samo nepozná kde je KT:) ) a tam spustí nějakou UNO věc... (a opravdu fugnguje)

sub obnovitKT_na_bunce_C29
rem toto makro obnovuje KT tak ze to makro samo umisti kurzor na dane misto a tam kde je kurzor tam se aktualizuje KT
    nazev_listu = ThisComponent.getSheets().getByName("KT")
    kurzor = ThisComponent.getCurrentController()
    souradnice = nazev_listu.getCellByPosition(2,30)

    kurzor.Select(souradnice)
    
    oznacena_bunka = ThisComponent.CurrentController.Frame
        dispatcher = createUnoService("com.sun.star.frame.DispatchHelper")
        dispatcher.executeDispatch(oznacena_bunka, ".uno:RecalcPivotTable", "", 0, Array()) 'mozna to tady mam spatne-mozna to co rika te "funkci RecalcPivotTable" kde je prave kurzor neni "oznacena_bunka" ale "Array".
end sub

a já bych z toho chtěl vynechat to přesouvání kurzoru a rovnu říct tomu "dispatcheru" že to má aktualizovat na bunce C29, hlavně proto,protože to přesouvání kurzoru mě přesune na ten list kde se toto děje-což nechci-ten list je jenom pro vzorce.vubec do nej nechcu koukat,a když ho skryju tak je to celé pošahané... :-(
Už jsem do toho posledního řádku zkoušel místo "oznacena_bunka" dát souřadnice "(2,29)" nebo "souradnice" aby si to vzalo souřadnice z na začátku definované proměnné "souradnice"
...a háže to např tuto hlášku:
chybac.png

takže nevíte někdo jak tomu dispatcherovi říct aby aktualizoval danou bunku bez toho šmrdolení s tím kurzorem?diky
Toto makro je výborné v tom, že to aktualizuje ty KT IHNED-žádné vteřinové čekání jako u toho makra předtím.

#57 Re: Calc » kontingenčnú tabuľku spustiť automat. » 20. 8. 2010 07:56:25

kdybyste někdo věděl o nějakém jiném makru , které aktualizuje KT (určitou KT nebo všechny naráz), než to co jsem tu vložil,tak dejte pls. vědět. Todle makro totiž někdy trvá 5 vteřin než se provede a to mě už někdy pěkne frustruje, protože ho používám často. Takové ideální makro by bylo takové aby pracovalo jako když normálně kliknu na KT pravým čudlem myši a dám "obnovit" a je to hnedka během sekundy(pokud není zdrojových dat nějak moc).

....to je mi ale stejně divné, že ty kódy nebo jak se tomu říká, jsou takové trochu tajné-vždycky se o tom, jak napsat makro, dozvím někde z diskuze...ale myslel bych si,že by to mohlo být k dispozici i na stránkách výrobce, a ještě k tomu když je to OPENOFFICE - tak tuplem bych čekal že budou všechna možná makra zveřejněná....

#59 Calc » Jak vložit do makra uvozovky, tak aby je OO bralo jako text » 31. 7. 2010 23:50:27

dech
Odpovědí: 4

Ahojte,
docela jsem se rozepsal s makrama,ale potkala mě taková záležitost:
potřebuju do makra vložit text, ve kterém jsou uvozovky, akorát OO si myslí, že ten text ukončuju už u druhých uvozovek:

sub zprava
msgbox "cituji: "již tyto druhé uvozovky považuje OO za ukončení zprávy,ale právě potřebuji aby ty uvozovky byly součástí zprávy". "

Ve skutečnosti se můj problém netýká msgboxu,ale zobrazení textu v bunce pomocí:
list.getCellByPosition(0,2).setFormula(=IF(A1<1;"ano";"ne"))   a právě ty uvozovky hodí při vykonání makra chybu

...nebo mi poradte jak pomocí makra zkopírovat vzorec a vložit ho do jiné bunky,tak aby měl vzorec nově navázané bunky (jestliže originál byl =A1+B1  tak kopie tohoto vzorce do druhého řádku bude vypadat =A2+B2)...jen v tom makru nechci žádné hýbání kurzorem-tomu se chci vyhnout

diky

#60 Re: Calc » V buňce 2 vzorce - podle potřeby - VYŘEŠENO » 20. 7. 2010 21:33:30

tak to mě přivádí na myšlenku - zda by mohl někdo napsat podobné makro jako napsal Roman - které řekne, že se má na dané buňce objevit daný text/hodnota/vzorec   namísto toho aby v tom makru bylo pohybování kurzorem:

rem ----------------------------------------------------------------------
dim args1(0) as new com.sun.star.beans.PropertyValue
args1(0).Name = "ToPoint"
args1(0).Value = "$A$1"

dispatcher.executeDispatch(document, ".uno:GoToCell", "", 0, args1())

tak aby právě v makru nebyl ten pohyb kurzorem....prostě aby se číslo objevilo na dané buňce "z čista jasna" smile

tuto změnu oproti Romanovému makru chci jen kůli rychlosti provedení makra a menším komplikacem s kurzorem

#61 Calc » V buňce 2 vzorce - podle potřeby - VYŘEŠENO » 20. 7. 2010 10:48:39

dech
Odpovědí: 18

Ahojte,
potřeboval bych aby se mi v jedné buňce objevil buď jeden nebo druhý vzorec (aby fungoval,ne jenom jeho zápis-prostě aby ta buňka měla v sobě normálně vzorec) -jestli vzorec ten nebo onen, to by záleželo na mě, který zvolím.
Pro to bych chtěl např. využít objekt formuláře "zaškrtávací políčko".
Vložím si tento objekt do listu, dám na objekt pravý čudlík myši,v záložce "data" nastavím spojenou buňku(A1) a nastavím "referenční hodnota (zapn)" na vzorec "=4*B1"(bez uvozovek) a nastavím "referenční hodnota (vypn)" na "=2*B1" (bez uvozovek). Zavřu nastavení. Vypnu navrhování formuláře(aby se zaškrtávací pole stalo funkční) a zaškrtnu políčko a v A1 se objeví "=4*B1" . Když to odškrtnu tak se v A1 objeví "=2*B1", ALE bohužel vzorce nejsou aktivní-jsou tam asi jako text a já bych potřeboval aby se tam objevila vypočtená hodnota daného vzorce. (v B1 je např číslo 6, takže by se v A1 mělo objevit č. 12 nebo 24)

Ovšem opravdu potřebuju aby tam ten vzorec byl(ne nutně v A1-prostě ve výsledku v nějaké jedné buňce aby se střídaly vzorce),protože pomocí makra tuto buňku kopíruju dál a ta hodnota (č.12/24) se časem mění-podle navázaných buněk v tomto vzorci.

vlastně hledám opak funkce FORMULA - aby udělala z textu funkční vzorec

Díky za rady

#62 Re: Calc » Průvodce daty - kontingenční tabulky » 1. 7. 2010 15:21:36

aha tak to je teda tou verzí...:-(  ale nahrávat zas jinou verzi...to by bylo zase něco-určitě v ní nepůjde něco co normálně chodí v orig. OO...to bych si asi víc nadělal problémů než užitku v podobě přepsané KT

#63 Re: Calc » Průvodce daty - kontingenční tabulky » 22. 6. 2010 22:30:35

he, tak já se to pokouším přepsat to "Celkem výsledek" a nedovolí mi to - napíše, že "Tato část tabulky vytvořené s pomocí průvodce daty nemůže být změněna".  tak to je mi podivné...

#64 Re: Calc » Průvodce daty - kontingenční tabulky » 22. 6. 2010 07:08:34

nebo ted se aspoň snažím změnit slova součtu řádků/sloupců  "Celkem výsledek" na něco jiného-hraju si v tom stylu s položkou "Nadpis průvodce daty" a tam měním formát čísla na mnou požadovaný text v uvozovkách, se zavináčem...a pořád nic...ale říkám si že aspoň takovouhle blbost by mělo jít změnit...

#65 Re: Calc » Průvodce daty - kontingenční tabulky » 21. 6. 2010 21:01:38

opravdu! ...akorat bych chtel jeste nastavit ruzne styly pro "Kategorie průvodce daty" -jeden styl pro Kategorii v řádku a jeden styl pro Kategorii ve sloupci. Neboli ne jeden styl pro všechny Kategorie.

#66 Re: Calc » Průvodce daty - kontingenční tabulky » 21. 6. 2010 16:29:18

nevíte jak by šlo v KT měnit formáty čísel/datumů? např. místo 10000 aby bylo 10 000 (třeba i tučně) nebo místo 20.5.2010 aby bylo 20/05
diky

#67 Re: Calc » textové pole, formátované pole... a spojená buňka » 8. 6. 2010 01:43:19

nooo,tak takhle by to snad take slo,..ale problem jsem nastesti odsunul na druhou kolej...a tak se zákonitě vyskytl jiný smile  -nyní s objektem "seznam"
Mám haldu datumů v jednom sloupci a tato oblast je nastavena v seznamu jako zdrojová - v seznamu jsou pod sebou datumy. Seznam je napojen na nějakou buňku, kde se objeví vybrané datum ze seznamu.
Problém je v tom, že se datum v této spojené buňce neobjeví ve formátu datumu ale jako text (s apostrofou nalevo). A toto datum je pro mne nepoužitelné-ztratilo svůj časový význam a je jen jako text.
Nevíte jak toto jednoduše napravit?
20100608023525.png


....jo jasný ....=VALUE() !! smile

#68 Re: Calc » vložit neformátovaný text - tlačítko na panelu nástrojů » 26. 5. 2010 21:57:41

tak tak,v calcu to právě chybí totok...ale už sem si udělal to jednoduché makro!

#69 Re: Calc » vložit neformátovaný text - tlačítko na panelu nástrojů » 26. 5. 2010 16:30:36

jojo,nad timto sem tak přemýšlel,ale říkal jsem si že by to mohlo jít jako všechny jiné povely které jdou "vytáhnout" na panel nástrojů.
tak ok. díky!

#70 Calc » vložit neformátovaný text - tlačítko na panelu nástrojů » 26. 5. 2010 15:27:31

dech
Odpovědí: 4

Ahojte,
nevíte někdo jak dostat tlačítko na panel nástrojů, které by udělalo to samé jako ikona na panelu nástrojů vložit-neformátovaný text?

Pomocí úpravy panelu n. lze "výtáhnout" všelijaká tlačítka,ale tohle nemůžu najít.
diky

#71 Re: Calc » kontingenčnú tabuľku spustiť automat. » 18. 5. 2010 12:03:40

tak sem prohlédl celý širý internet a našel takovéto krásné makro zde
Trochu jsem jej doplnil o "hardcalculate..."
...aktualizuje všechny pivottable (kont. tab.) v dokumentu.
Mě funguje akorát to "refresh_DBRanges_And_Pilots", u těch ostatních dvou mi to vyhodí jakousi chybu,ale to je mi jedno - to jedno funkční makro aktualizuje KT! smile

    Sub refresh_DBRanges_And_Pilots
    rem ----------------------------------------------------------------------
rem define variables
dim document   as object
dim dispatcher as object
rem ----------------------------------------------------------------------
rem get access to the document
document   = ThisComponent.CurrentController.Frame
dispatcher = createUnoService("com.sun.star.frame.DispatchHelper")
  rem ----------------------------------------------------------------------
dispatcher.executeDispatch(document, ".uno:CalculateHard", "", 0, Array())
    REM disable auto-calculation:
       bAutoCalc = thisComponent.IsAutomaticCalculationEnabled
       thisComponent.enableAutomaticCalculation(False)
       oDBRangesEnum = thisComponent.DatabaseRanges.createEnumeration()
       refresh_Enumeration(oDBRangesEnum)
       oSheetsEnum = thisComponent.Sheets.createEnumeration()
       refresh_All_DataPilots(oSheetsEnum)
    REM reset auto-calculation to previous state:
       thisComponent.enableAutomaticCalculation(bAutoCalc)
       rem ----------------------------------------------------------------------
dispatcher.executeDispatch(document, ".uno:CalculateHard", "", 0, Array())
    End Sub

    Sub refresh_All_DataPilots(oSheetsEnum)
    REM Bug: Disregards pilots created from datasource
       while oSheetsEnum.hasMoreElements()
          oSheet = oSheetsEnum.nextElement()
          oDPEnum = oSheet.DataPilotTables.createEnumeration()
          refresh_Enumeration(oDPEnum)
       wend
    End Sub

    Sub refresh_Enumeration(oEnum)
       while oEnum.hasMoreElements()
          oNext = oEnum.nextElement()
          oNext.refresh()
       wend
    End Sub

#73 Calc » textové pole, formátované pole... a spojená buňka » 13. 5. 2010 11:29:24

dech
Odpovědí: 3

Ahojte,
mám dotaz ohledně objektů jako jsou textové pole, formátované pole, seznam, kombinované pole atd.
Spousta těchto objektů má důležitou vlastnost - jsou napojeny na buňku, ve které objeví to co v seznamu vyberu nebo do textového pole napíšu (tzv. spojená buňka).

Šlo by nějakým způsobem měnit to,s jakou buňkou je objekt spojen, jinak než přes pravý čudlík myši a tam změnit adresu bunky?

Kdyby toto nějak šlo,tak bych ve výsledku nějakou jednoduchou volbou v sešitě(tlačítkem,přepínačem),mohl měnit to jestli bude daná seznam spojen s jednou nebo druhou buňkou.

Hledat řešení jiné,než to, které potřebuju je asi zbytečné - totiž mám více bunek(cca 10) a chci aby v nich zůstaly naposledy změněné údaje(v každé bunce jiný údaj). A to tak že bych je dokázal měnit jen pomocí jediného seznamu/textového pole.

Kdybych na každou z těchto 10 bunek navazal vlastní seznam/...  tak by to bylo vyřešeno,ale já právě nechci mít tolik okýnek,ale jen jedno.

tak diky

#74 Re: Calc » Průvodce daty - kontingenční tabulky » 9. 5. 2010 20:06:02

možná abych upřesnil to co jsem myslel s tím fitrem:

často měním filtrování kontingenční tabulky podle jednoho typu dat: datum. Chci abych pořád nemusel chodit do té nabídky, kde musím ten filtr neustále měnit (vložený obrázek)(pravý čudlík myši na KT,filtr...). Jde toto zadání jiného parametru(datumu) vytáhnout do nějaké bunky v listě?
20100509204339.png

...to jak měním v poli "hodnota" datumy, jestli bych to datum mohl měnit v nějaké bunce v listu.
Zkoušel jsem jednoduše místo datumu napsat např. A1   a do bunky A1 v listě napsat datum,ale nefungovalo to.

#75 Re: Calc » Automatické rozpoznávání datumu » 6. 5. 2010 19:47:23

no ja s tim ted nejakou tu hodinu bojuju :-) ....diky,funguje!

Zápatí

Používáme FluxBB