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ů: 74

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ů: 167

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ů: 74

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ů: 74

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ů: 167

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ů: 3,435

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)


Moje e-mailová adresa
Pokud je Váš problém vyřešen, označte prosím svůj příspěvek za "VYŘEŠENÝ"
Zlepšíte orientaci při vyhledávání řešení 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ů: 3,435

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)


Moje e-mailová adresa
Pokud je Váš problém vyřešen, označte prosím svůj příspěvek za "VYŘEŠENÝ"
Zlepšíte orientaci při vyhledávání řešení 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ů: 74

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ů: 74

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ů: 167

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ů: 74

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ů: 74

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ů: 3,435

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.


Moje e-mailová adresa
Pokud je Váš problém vyřešen, označte prosím svůj příspěvek za "VYŘEŠENÝ"
Zlepšíte orientaci při vyhledávání řešení 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ů: 167

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ů: 3,435

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á).


Moje e-mailová adresa
Pokud je Váš problém vyřešen, označte prosím svůj příspěvek za "VYŘEŠENÝ"
Zlepšíte orientaci při vyhledávání řešení 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ů: 74

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ů: 167

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ů: 74

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ů: 74

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ů: 167

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ů: 74

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ů: 3,435

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)


Moje e-mailová adresa
Pokud je Váš problém vyřešen, označte prosím svůj příspěvek za "VYŘEŠENÝ"
Zlepšíte orientaci při vyhledávání řešení 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ů: 74

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ů: 3,435

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.


Moje e-mailová adresa
Pokud je Váš problém vyřešen, označte prosím svůj příspěvek za "VYŘEŠENÝ"
Zlepšíte orientaci při vyhledávání řešení 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ů: 167

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í