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

#1 15. 1. 2018 07:31:37

Delph
Člen
Registrace: 14. 8. 2017
Příspěvků: 71

Nulování vstupních údajů a výběr z přednastavených hodnot - VYŘEŠENO

Už jsem tu zase, abych se zkusil někam posunout. Celá ta má tabulka na výpočet spotřeby stojí a padá samozřejmě na správnosti vložených údajů a abych to udělal trošku "blbuvzdorné" chtěl bych tam vložit tlačítko, jehož zmáčknutím bych vynuloval všechny vstupní údaje na dané straně.  Aby se mi pak neobjevili nějaký nesmyslný čísla v součtu, protože zapomenu někde něco ručně smazat.

A další opatření na blbuvzdornost - protože někde se zadává jen třeba výběr ze 3 čísel/písmen někde ze 2 atp. rád bych tam umístil něco, co mě dovolí výběr právě jen z těchto možností. Já si to dokážu ohlídat, ale když to dám na použití taťkovi, nebo to třeba sem i nahraju volně k dispozici ostatním, aby se v tom vyznali lépe.

předem děkuju.

Editoval Delph (17. 1. 2018 07:33:15)

Offline

#2 15. 1. 2018 11:52:19

kabi
Člen
Registrace: 1. 6. 2017
Příspěvků: 107

Re: Nulování vstupních údajů a výběr z přednastavených hodnot - VYŘEŠENO

na mazání makro (používám vba), např.
Option VBASupport 1
Sub Smázni_Data
range("A1").clearcontents
range("A3:C10").clearcontents
End Sub
Pro ten výběr jen z určitých dat použijte Platnost (menu Data -> Platnost) a zde buď Oblast buněk (do kterých si nastavíte povolené hodnoty) nebo Seznam (povolené hodnoty vepíšete přímo do omezujících parametrů - vstupního pole)

Offline

#3 15. 1. 2018 13:23:58

Delph
Člen
Registrace: 14. 8. 2017
Příspěvků: 71

Re: Nulování vstupních údajů a výběr z přednastavených hodnot - VYŘEŠENO

kabi napsal(a)

na mazání makro (používám vba), např.
Option VBASupport 1
Sub Smázni_Data
range("A1").clearcontents
range("A3:C10").clearcontents
End Sub
Pro ten výběr jen z určitých dat použijte Platnost (menu Data -> Platnost) a zde buď Oblast buněk (do kterých si nastavíte povolené hodnoty) nebo Seznam (povolené hodnoty vepíšete přímo do omezujících parametrů - vstupního pole)

To zadání hodnot přes data je paráda. Už to mám. Jen teď nějak nevím, co si počít s tím makrem
Kam to mám zadat?

Offline

#4 15. 1. 2018 14:24:03

Delph
Člen
Registrace: 14. 8. 2017
Příspěvků: 71

Re: Nulování vstupních údajů a výběr z přednastavených hodnot - VYŘEŠENO

přikládám odkaz na to co jsem už stvořil... pro případně další nápady co s tím mohu provést...

https://ulozto.cz/!tDLz84o7ubwT/spotreba-materialu-xlsx

Offline

#5 15. 1. 2018 15:53:53

kabi
Člen
Registrace: 1. 6. 2017
Příspěvků: 107

Re: Nulování vstupních údajů a výběr z přednastavených hodnot - VYŘEŠENO

abyste mohl použít makra, musíte dokument přeuložit do formátu ods nebo makra musíte napsat v Excelu (pak musí být dokument ve formátu xls nebo xlsm.
Pro zápis maker zvolte Nástroje -> Makra -> Správce maker -> LibreOffice Basic. Zde si najděte svůj dokument a stiskněte tlačítko nový. Zde pak můžete zapsat makro. Dále si v dokumentu musíte vytvořit tlačítko Zobrazit -> Nástrojové lišty - > Ovládací prvky formuláře, zobrazí se možnosti. Kliknutím na ikonu tužky se dostanete do návrhu, vyberte ikonu Tlačítko a "nakreslete" si ho někde na vhodnou pozicido listu (dá se následně přesouvat). Ve vlastnostech toho tlačítka pak můžete zapsat zobrazovaný text a přiřadit mu to zapsané makro. Zkuste, kdyžtak doplním.

Offline

#6 15. 1. 2018 19:46:44

neutr
Člen
Registrace: 8. 3. 2007
Příspěvků: 2,710

Re: Nulování vstupních údajů a výběr z přednastavených hodnot - VYŘEŠENO

Jiná možnost

Sub DeletePole 'Jednoduchá volba
Sheet = ThisComponent.Sheets.getByName("List1")
RangeToClear = Sheet.getCellRangeByPosition(0,1,7,49)
'RangeToClear = Sheet.getCellRangeByName(A2:G50)
RangeToClear.clearContents(23) ' číslo podle nápovědy dole
'VALUE = 1 ->selects constant numeric values that are not formatted as dates or times.
'DATETIME = 2 ->selects constant numeric values that have a date or time number format.
'STRING = 4 ->selects constant strings.
'ANNOTATION = 8 ->selects cell annotations.
'FORMULA = 16 ->selects formulas.
'HARDATTR = 32 ->selects all explicit formatting, but not the formatting which is applied implicitly through style sheets.
'STYLES = 64 ->selects cell styles.
'OBJECTS = 128 ->selects drawing objects.
'EDITATTR = 256 ->selects formatting within parts of the cell contents.
'FORMATTED = 512 ->selects cells with formatting within the cells or cells with more than one paragraph within the cells.
End Sub

     Problém propojení makra je jiný problém - tlačítko, nabídka do hlavního menu, ikona nebo
klávesová zkratka. Makro by mělo být v konkrétním sešitě.


PS : Lze to udělat také jako funkci například =SMAZATUSEK(adresa), ale pak se ještě musí udělat úprava.

Editoval neutr (15. 1. 2018 20:00:46)


Pokud je Váš problém vyřešen, označte prosím svůj příspěvek za "VYŘEŠENÝ"
Zlepšíte tak orientaci na fóru při vyhledávání řešení problémů
JAK OZNAČIT TÉMA ZA VYŘEŠENÉ

Offline

#7 16. 1. 2018 08:14:18

neutr
Člen
Registrace: 8. 3. 2007
Příspěvků: 2,710

Re: Nulování vstupních údajů a výběr z přednastavených hodnot - VYŘEŠENO

Problém maker a jejich spouštění je popsán v seriálu Dana Sedláčka Nahrávání a spouštění maker.


PS :       Konkrétní postupy jsou cca od druhé poloviny článku.

Editoval neutr (16. 1. 2018 08:14:48)


Pokud je Váš problém vyřešen, označte prosím svůj příspěvek za "VYŘEŠENÝ"
Zlepšíte tak orientaci na fóru při vyhledávání řešení problémů
JAK OZNAČIT TÉMA ZA VYŘEŠENÉ

Offline

#8 16. 1. 2018 08:21:52

Delph
Člen
Registrace: 14. 8. 2017
Příspěvků: 71

Re: Nulování vstupních údajů a výběr z přednastavených hodnot - VYŘEŠENO

hmm tak
mám přeuloženo na ODS (fuj to je zkratka, zrovna v době voleb, byť prezidenta), ale je pravda, že já mám sice Libre, ale taťka má Excel a nic nového nechce, je rád, že zvládá zapisovat do Excelových tabulek a ví kde co najít.

Pak zápis Makra mám:
Sub Data_clear
range("B3:B5").clearcontents
range("B8:B57").clearcontents
range("B60:D63").clearcontent
range("B66:B70").clearcontent

End Sub

tlačítko jsem si vytvořil, obravil a popsal. V záložce události jsem do sekce "provést akci" vybral toto makro a nic. Po "kliknutí" na něj se označí a vyskočí editační body. počítám, že chyba bude někde na vstupu (tedy mě) a něco někde chybí.


=SMAZATUSEK(A:X) vypadá moc hezky a jako něco s čím si umím poradit, ale nevím jak to dostat do podoby "klikacího tlačítka"

Offline

#9 16. 1. 2018 08:24:19

Delph
Člen
Registrace: 14. 8. 2017
Příspěvků: 71

Re: Nulování vstupních údajů a výběr z přednastavených hodnot - VYŘEŠENO

neutr napsal(a)

Problém maker a jejich spouštění je popsán v seriálu Dana Sedláčka Nahrávání a spouštění maker.


PS :       Konkrétní postupy jsou cca od druhé poloviny článku.

děkuju mrknu na to. teď to vypadá, že mám čas.

Offline

#10 16. 1. 2018 09:19:15

kabi
Člen
Registrace: 1. 6. 2017
Příspěvků: 107

Re: Nulování vstupních údajů a výběr z přednastavených hodnot - VYŘEŠENO

v makru chybí ten první řádek Option VBASupport 1 (jde o makro zapsané v VBA)

Offline

#11 16. 1. 2018 09:45:40

Delph
Člen
Registrace: 14. 8. 2017
Příspěvků: 71

Re: Nulování vstupních údajů a výběr z přednastavených hodnot - VYŘEŠENO

kabi napsal(a)

v makru chybí ten první řádek Option VBASupport 1 (jde o makro zapsané v VBA)

tak celé tam mám teď:

REM  *****  BASIC  *****
Option VBASupport 1
Sub Data_clear
range(B3:B5).clearcontents
range(B8:B57).clearcontents
range(B60:D63).clearcontent
range(B66:B70).clearcontent

End Sub



a píše mi to po F5 mi to píše "BASIC - chyba v syntaxi.
Očekáváno: =."

Offline

#12 16. 1. 2018 10:05:19

Delph
Člen
Registrace: 14. 8. 2017
Příspěvků: 71

Re: Nulování vstupních údajů a výběr z přednastavených hodnot - VYŘEŠENO

zkusil jsem i to "nahrávání makra" kdy jsem teda dal nahrávání a každý jeden údaj jsem vymazal ručně, pak ukončil nahrávání, uložil, přenahrál makro, které se má spustit po kliknutí na tlačítko a pořád nic....

Offline

#13 16. 1. 2018 10:57:46

neutr
Člen
Registrace: 8. 3. 2007
Příspěvků: 2,710

Re: Nulování vstupních údajů a výběr z přednastavených hodnot - VYŘEŠENO

Nevím sice co jste přesně dělal, ale postup je následující :


- Zavolejte ZOBRAZIT > NÁSTROJOVÉ LIŠTY > OVLÁDACÍ PRVKY FORMULÁŘE (zaškrtnout aby se pruh zobrazil)


- Když je lišta viditelná musíte nejprve zapnout tlačítko REŽIM NÁVRHU (hned vedle šipky).


- Následne vyberete z nabídky tlačítko (malinkaté - má na sobě OK).


- Jakmile na něj klepnete objeví se Vám nad pracovní plochou osový kříž a obdélníček - někam klepnete levým myšítkem (držet tlačítko) a roztáhnete do potřebné velikosti.


- Jakmile pustíte už je tlačítko ohraničeno zelenými úchopovými body - dá se upravovat ale to nás zatím nezajímá.


- Postavte se nad tlačítko a stiskněte pravé myšítko. Objeví se kontextová nabídka a vyberete OVLÁDACÍ PRVEK.


- Objeví se dialog se dvěma kartami :
OBECNÉ - zde nás zajímá popisek - to co se na tlačítku objeví - nic jiného!
UDÁLOSTI - hned do první položky (Schválit akci) zadejte pomocí tlačítka se třemi tečkami to Vaše makro. Nejprve vyskočí dialog PŘIŘADIT AKCI. Stisknete tlačítko MAKRO a vyberete to svoje připravené.


- Když ho správně najdete, tak se vypíše do řádku s názvem "Schválit akci) a uvidíte tam nejprve zubaté koleřko s názvem a adresou makra.


- Pokud jste si jist, musíte potvrdit pomocí OK. Pomocný dialoh zmizíů ale makro se přepíše do správné položky v záložce UDÁLOSTI. Máte téměř vyhráno.


- Nyní musíte vypnout REŽIM NÁVRHU > to tlačítko na liště OVLÁDACÍ PRVKY FORMULÁŘE. Měly by zmizet jak dialog, tak úchopové body tlačítka. Teprve nyní je tlačítko funkční.


- Nezapoměňte ihned uložit aby se to neztratilo když by Vám to spadlo dík nějaké chybě makra.

Přeji úspěch : > u Excelu to musí být podobné ale musíte to otestovat. Možná stačí postup z LibreOffice a Excel zamaká - to nevím já Excel neumím a nemusím.


Pokud je Váš problém vyřešen, označte prosím svůj příspěvek za "VYŘEŠENÝ"
Zlepšíte tak orientaci na fóru při vyhledávání řešení problémů
JAK OZNAČIT TÉMA ZA VYŘEŠENÉ

Offline

#14 16. 1. 2018 11:06:03

kabi
Člen
Registrace: 1. 6. 2017
Příspěvků: 107

Re: Nulování vstupních údajů a výběr z přednastavených hodnot - VYŘEŠENO

v příspěvku #8 jste to makro měl napsané s uvozovkami v #11 už ne. To může být ta chyba.

Offline

#15 16. 1. 2018 11:19:21

neutr
Člen
Registrace: 8. 3. 2007
Příspěvků: 2,710

Re: Nulování vstupních údajů a výběr z přednastavených hodnot - VYŘEŠENO

To asi ano - tohle je chyba i v Calcu - někdy dokonce i když je to definované jako string (proměnná).


Pokud je Váš problém vyřešen, označte prosím svůj příspěvek za "VYŘEŠENÝ"
Zlepšíte tak orientaci na fóru při vyhledávání řešení problémů
JAK OZNAČIT TÉMA ZA VYŘEŠENÉ

Offline

#16 17. 1. 2018 07:32:23

Delph
Člen
Registrace: 14. 8. 2017
Příspěvků: 71

Re: Nulování vstupních údajů a výběr z přednastavených hodnot - VYŘEŠENO

Neutr, Kabi - tak chyba byla opět primitivní. A bylo to to neukončení návrhu. Mám tam teda teď to makro, kde jsem to všechno přemazal ručně a nahrál si to. Možná to není nejlepší a nejelegantnější řešení, ale funguje a už ho mám. Opět moc děkuji.

Offline

#17 17. 1. 2018 10:10:48

kabi
Člen
Registrace: 1. 6. 2017
Příspěvků: 107

Re: Nulování vstupních údajů a výběr z přednastavených hodnot - VYŘEŠENO

výše jste psal, že otec použává Excel a nechce měnit :-) . Toto makro mu v něm asi nebude fungovat (ostatní výpočty ano) a pokud budete chtít rozchodit to mazání i v Excelu, můžete tam použít makro vašeho příspěvku #8. Je ale na vás, jestli budete udržovat dvě verze tabulky - pro LO (AOO) a MSO.

Offline

#18 18. 1. 2018 10:59:33

Delph
Člen
Registrace: 14. 8. 2017
Příspěvků: 71

Re: Nulování vstupních údajů a výběr z přednastavených hodnot - VYŘEŠENO

kabi napsal(a)

výše jste psal, že otec použává Excel a nechce měnit :-) . Toto makro mu v něm asi nebude fungovat (ostatní výpočty ano) a pokud budete chtít rozchodit to mazání i v Excelu, můžete tam použít makro vašeho příspěvku #8. Je ale na vás, jestli budete udržovat dvě verze tabulky - pro LO (AOO) a MSO.

To budu muset ještě skutečně dořešit. Měl jsem takovou radost, že to funguje, až jsem zapomněl na ten excel a nenapadlo mě, že by to nemuselo fungovat jinde.

Offline

#19 29. 1. 2018 07:40:34

Delph
Člen
Registrace: 14. 8. 2017
Příspěvků: 71

Re: Nulování vstupních údajů a výběr z přednastavených hodnot - VYŘEŠENO

tak jsem po dovolené a zkouším to na to původní makro, protože jak kabi správě poznamenal, v Excelu to nefunguje.


mám tedy:


Option VBASupport 1
Sub Macro1
range("B3:B5").clearcontents
range("B8:B57").clearcontents
range("B60:D63").clearcontent
range("B66:B70").clearcontent

End Sub


a po spuštění mi to píše:

BASIC - chyba při běhu.
'35'
range

Editoval Delph (29. 1. 2018 07:41:08)

Offline

#20 29. 1. 2018 08:43:51

kabi
Člen
Registrace: 1. 6. 2017
Příspěvků: 107

Re: Nulování vstupních údajů a výběr z přednastavených hodnot - VYŘEŠENO

čekal bych jinou chybu, opravte si u posledních dvou rozsahů název funkce. Má být na konci s (clearcontents).

Offline

#21 29. 1. 2018 09:01:13

Delph
Člen
Registrace: 14. 8. 2017
Příspěvků: 71

Re: Nulování vstupních údajů a výběr z přednastavených hodnot - VYŘEŠENO

kabi napsal(a)

čekal bych jinou chybu, opravte si u posledních dvou rozsahů název funkce. Má být na konci s (clearcontents).

toho jsem si všimnul po postnutí taky. Ale pokračuje to i přes opravu těch "s"

Offline

#22 29. 1. 2018 10:38:41

neutr
Člen
Registrace: 8. 3. 2007
Příspěvků: 2,710

Re: Nulování vstupních údajů a výběr z přednastavených hodnot - VYŘEŠENO

Tak to otestujte opačně. Dejte na každý konec bez toho "s" ( a pak ještě jednou raději s ním - pro jistotu) i když je v tom asi binec. Dále uvedený příklad ukazuje pole jako pole buňky deklarované čísly sloupce a řádku - ale to by Vám nemělo vadit. Chyba je v deklaraci listu.
2 ways for "ClearContents" on VBA Excel

Editoval neutr (29. 1. 2018 10:52:36)


Pokud je Váš problém vyřešen, označte prosím svůj příspěvek za "VYŘEŠENÝ"
Zlepšíte tak orientaci na fóru při vyhledávání řešení problémů
JAK OZNAČIT TÉMA ZA VYŘEŠENÉ

Offline

#23 29. 1. 2018 14:17:09

Delph
Člen
Registrace: 14. 8. 2017
Příspěvků: 71

Re: Nulování vstupních údajů a výběr z přednastavených hodnot - VYŘEŠENO

tak ani varianta se "s" i bez "s" nefunguje. Můžu zkusit tu variantu "cells" ale tam nevím, jak zapsat správně ten rozsah. Cell (1,1) = A1 a Cell (2,3)= B3?

Offline

#24 29. 1. 2018 14:34:11

neutr
Člen
Registrace: 8. 3. 2007
Příspěvků: 2,710

Re: Nulování vstupních údajů a výběr z přednastavených hodnot - VYŘEŠENO

Já nejsem kovaný ve VBA, ale je notace R1C1 - tedy první by mělo být číslo řádku (počítá se jistě od nuly) + to další je číslo sloupce (tatéž od nuly).


     To s tím "s" jsem to nemyslel vážně. Z ukázky je vidět že tam má to "s" být. Myslím, že se to zadání čísly dá přímo nahradit textovou notací ale Excel se opravdu učit nechci.
     U nás ve StarBasicu je rozdíl jen mezi CellRangeByPosition(x,y,X,Y) a CellRangeByName(A1:Z600) ale i když je to příbuzný jazyk - jak to je u VBA nevím. To možná poradí "kabi", nebo ještě lépe uživatel "lp." - ten myslím má tyhle věci v malíku a nemusí Googlit.


Pokud je Váš problém vyřešen, označte prosím svůj příspěvek za "VYŘEŠENÝ"
Zlepšíte tak orientaci na fóru při vyhledávání řešení problémů
JAK OZNAČIT TÉMA ZA VYŘEŠENÉ

Offline

#25 29. 1. 2018 14:49:28

kabi
Člen
Registrace: 1. 6. 2017
Příspěvků: 107

Re: Nulování vstupních údajů a výběr z přednastavených hodnot - VYŘEŠENO

nemáte tam někde zapomenutý kus kodu, příp. zkuste vymazat všechna makra v tom sešitě a vložte ho tam znovu. Když ho napíšu do toho souboru z odkazu #4 (přeuloženého do ods), tam to v LO standardně funguje.
Příp. si v tom makru zapoznámkujte ty 4 řádky s range a spusťte ho, jestli projde prázné (poznámka je buď apostrof nebo text REM , oboje na začátku řádku.
Option VBASupport 1
Sub Macro1
'range("B3:B5").clearcontents
'range("B8:B57").clearcontents
rem range("B60:D63").clearcontents
rem range("B66:B70").clearcontents
End Sub

Editoval kabi (29. 1. 2018 14:50:36)

Offline

Zápatí