cellák, mint checkboxok linkelése

Táblázatkezelő
wWolfff
Hozzászólások: 4
Csatlakozott: 2021. március 27., szombat 21:20

cellák, mint checkboxok linkelése

Hozzászólás Szerző: wWolfff »

Sziasztok!

Egyfajta kalkulátoron dolgozgatok magamnak. Van 8 cellám, amik checkbox szerepet töltenének be. Amolyan kategória választók. Sima cellák nincs form control.
A cellákba "x"-et téve, szerkesztésre feloldódnának zárolt cellák. Ezeket a cellákat szeretném valahogy összelinkelni, hogy egyszerre csak 1 lehessen bejelölve.
Vagyis, ha az egyikbe bejelölök, akkor a többiből kitörlődjön a jelölés. Jól sejtem a feltételes formázás itt járható út, hogyha V21 értéke "x", akkor a többi EMPTY csak hogyan?

Valamint a többi kategóriák szerkeszthető celláiból is minden korábban beírt beírt adatnak ki kellene ezzel a lépéssel törlődni.

A szerkesztéses cellákon ilyesmi feltételes formázás van: STYLE(IF(V21="x";"Unprotected";"Protected"))
hogy tudnám ezt megvariálni, hogy azt is vizsgálja, ha V21-ben nincs semmi, akkor bennem sincs semmi?

Köszi.
Libreoffice 7.0.4.2 / (VMWare) Linux Mint 19.3 Cinnamon 4.4.8
Avatar
Zizi64
Globális moderátorok
Hozzászólások: 4031
Csatlakozott: 2008. november 12., szerda 21:22
Tartózkodási hely: Budapest

Re: cellák, mint checkboxok linkelése

Hozzászólás Szerző: Zizi64 »

A szerkesztéses cellákon ilyesmi feltételes formázás van: STYLE(IF(V21="x";"Unprotected";"Protected"))
hogy tudnám ezt megvariálni, hogy azt is vizsgálja, ha V21-ben nincs semmi, akkor bennem sincs semmi?
Nem tud SEMMI lenni egy cellában, ha már egyszer VAN BENNE EGY KÉPLET!!!

Ne keverd össze a SEMMI-t (""-t, üres stringet) mint képlet EREDMÉNYT, a VALÓBAN ÜRES cellával, amibe te fogsz adatot írni.

Töltsél fel ide egy ODF típusú mintafájlt, hogy lássuk: mikor minek kellene szerepelni a celláidban.
Sok sikert!
Kovács Tibor (W10x64Pro/W7x64P: 7.5.8;
winPenPack/PortableApps: LO3.3.1-7.6.2, AOO4.1.14
Ha megoldódott a probléma, jelöld a témaindító hozzászólásod címének szerkesztésével. Írd elé: [Megoldva].
Avatar
Zizi64
Globális moderátorok
Hozzászólások: 4031
Csatlakozott: 2008. november 12., szerda 21:22
Tartózkodási hely: Budapest

Re: cellák, mint checkboxok linkelése

Hozzászólás Szerző: Zizi64 »

Amit te szeretnél megvalósítani, az nem a Jelölőnégyzetekkel (CheckBox) azonos működésű, hanem a Rádiógombokkal (RadioButton). De azt meg - külön erre a célra írt makrók nélkül - csakis a Form-kontrol elemekkel tudod megvalósítani a Calc-ban, mert nem egyszerű logikai kapcsolatot, hanem sorrendi hálózatot kell szimulálnod.
Sok sikert!
Kovács Tibor (W10x64Pro/W7x64P: 7.5.8;
winPenPack/PortableApps: LO3.3.1-7.6.2, AOO4.1.14
Ha megoldódott a probléma, jelöld a témaindító hozzászólásod címének szerkesztésével. Írd elé: [Megoldva].
Avatar
Zizi64
Globális moderátorok
Hozzászólások: 4031
Csatlakozott: 2008. november 12., szerda 21:22
Tartózkodási hely: Budapest

Re: cellák, mint checkboxok linkelése

Hozzászólás Szerző: Zizi64 »

Itt egy Rádiógombos egyszerű példa. A gombok azonos Csoporthoz tartoznak, egymás kiváltják, ha egyre rákattintasz, az előző kiválasztás megszűnik. A választás szöveggel, vagy számmal megadható eredménye a csatolt cellában jelenik meg.
Radiobuttons.ods
(9.29 KiB) Letöltve 249 alkalommal.

Makróval egyéb módon is meg lehet oldani, de ehhez már részleteiben ismerni kellene a feladatot, hogy valódi megoldási javaslatot tehessek.
Sok sikert!
Kovács Tibor (W10x64Pro/W7x64P: 7.5.8;
winPenPack/PortableApps: LO3.3.1-7.6.2, AOO4.1.14
Ha megoldódott a probléma, jelöld a témaindító hozzászólásod címének szerkesztésével. Írd elé: [Megoldva].
wWolfff
Hozzászólások: 4
Csatlakozott: 2021. március 27., szombat 21:20

Re: cellák, mint checkboxok linkelése

Hozzászólás Szerző: wWolfff »

Ja igen tényleg. Radiobutton. De nem kell úgy kinéznie, sőt.

A szerkeszthető cellákban nincs semmi képlet, se a checkboxokban csak feltételes formázás.
Kalkulációs cellákban van képlet, de azok zároltak eleve, nem lehet piszkálni se.

Nem engedi felcsatolni, mert túl nagy a méret.

Dropbox link: https://www.dropbox.com/scl/fi/q4gzj2u0 ... gpfp6sya3q

Az a lényeg, hogy ott vannak a túramódok kis négyzetekkel, azok feloldják azt a megfelelő részt ahol a kilométereket és a métereket lehet beírni. A másmilyené zárolt marad. A kalkuláció a pont résznél történik, ott van képlet, meg máshol az összesítésnél.
Libreoffice 7.0.4.2 / (VMWare) Linux Mint 19.3 Cinnamon 4.4.8
Avatar
Zizi64
Globális moderátorok
Hozzászólások: 4031
Csatlakozott: 2008. november 12., szerda 21:22
Tartózkodási hely: Budapest

Re: cellák, mint checkboxok linkelése

Hozzászólás Szerző: Zizi64 »

Igen bonyolult makró kell ahhoz, hogy egy üres cellába történő bekattintást eseményként kezeljél. Eseményfigyelő, stb...

A Rádiógomb eleve ezt valósítja meg, makró nélkül. Számít az, hogy hogyan néz ki???

A Jelölőnégyzetekkel egyszerűbb makró is elég lehet, mert viszonylag könnyű a kattintás-eseményt felhasználni.

De még ha a cellában lévő hyperlinket, vagy (a Writerben) makróindító Mezőt használnál, akkor is makrókat kell hozzá írnod (és nem RÖGZÍTENED!), hogy ez működhessen, ugyanis egy cellába bevitt adat semmiképpen nem tudja (makró nélkül) egy MÁSIK BEVITELI cella értékét megváltoztatni. Ahhoz legalábbis képlet kell a cellába, de akkor az már nem beviteli cella lesz, és ha kézzel írsz bele, akkor az törli a benne lévő képletet. Saját farkába harapó kígyóvá válik.
Sok sikert!
Kovács Tibor (W10x64Pro/W7x64P: 7.5.8;
winPenPack/PortableApps: LO3.3.1-7.6.2, AOO4.1.14
Ha megoldódott a probléma, jelöld a témaindító hozzászólásod címének szerkesztésével. Írd elé: [Megoldva].
wWolfff
Hozzászólások: 4
Csatlakozott: 2021. március 27., szombat 21:20

Re: cellák, mint checkboxok linkelése

Hozzászólás Szerző: wWolfff »

Hát a lényeg, hogy ha ki van töltve a jelentés, akkor nyomtathatónak kellene lennie. Aláírom és hivatalos. Leadható. Ha rádió gombok kerülnek oda, akkor nem látszódhat a nyomtatásban, és akkor is bele kell kerülnie a cellába az x-nek.
Reméltem, hogy így meg lehet valahogy valósítani, és nem kell egy külön rész az egészen kívül radiogombokkal, ami elvégzi az "x"-eléseket. De ha mást nem akkor úgy lesz. Nyomtatási területen kívül egy választó radiogomb.
Libreoffice 7.0.4.2 / (VMWare) Linux Mint 19.3 Cinnamon 4.4.8
Avatar
Zizi64
Globális moderátorok
Hozzászólások: 4031
Csatlakozott: 2008. november 12., szerda 21:22
Tartózkodási hely: Budapest

Re: cellák, mint checkboxok linkelése

Hozzászólás Szerző: Zizi64 »

Ha rádió gombok kerülnek oda, akkor nem látszódhat a nyomtatásban, és akkor is bele kell kerülnie a cellába az x-nek.
De hát ez megoldható a Rádiógombokkal: csak állítsd be, hogy nyomtatandó legyen-e a Rádigomb - vagy sem -, a tulajdonságai között. És természetesen a 0 és 1 helyett közvetlenül "x" és "semmi" is szerepelhet kimeneti paraméterként. És persze a rádiógomb saját szövege is elhagyható, csak a "csupasz" gomb is megjeleníthető. Ekkor nem kell segédtáblára helyezni azokat, lehetnek pont ott is, ahol szükség van rájuk.


De mondom még egyszer: a jelölő négyzetekkel is megvalósítható ez, de ez esetben neked kell megírni a makrót, hogy ha az egyikre rákattintasz, akkor más négyzetek - de csakis a valahogyan (pl. a nevük kezdete szerint) egy csoportba rendelt darabok) - automatikusan elvesszék a bejelülésüket. Mert már "Csoport" tulajdonsága SINCS a jelölőnégyzeteknek, míg a Rádiógomboknak van. Ez biztosítja, hogy egyetlen fájlban több, egymástól működésileg független Rádiógomb-csoportot működtethess.
Radiobuttons_non_printable.ods
(9.11 KiB) Letöltve 237 alkalommal.
Sok sikert!
Kovács Tibor (W10x64Pro/W7x64P: 7.5.8;
winPenPack/PortableApps: LO3.3.1-7.6.2, AOO4.1.14
Ha megoldódott a probléma, jelöld a témaindító hozzászólásod címének szerkesztésével. Írd elé: [Megoldva].
Avatar
Zizi64
Globális moderátorok
Hozzászólások: 4031
Csatlakozott: 2008. november 12., szerda 21:22
Tartózkodási hely: Budapest

Re: cellák, mint checkboxok linkelése

Hozzászólás Szerző: Zizi64 »

Egyébként a példafájlodban van egy 2 MiB méretű kép. Ez van annyira összesűrítve, hogy 188 KiB méretű lett a fájl. a Fórumra meg max. 128 KiB méretű csatolmány tölthető fel.

Teljesen fölösleges egy FEKETE-FEHÉR képet ekkora pixel-méretben beágyazni a fájlba. Semmivel nem lesz több információd, mint ha 64 színű/szürke-skálás .png képet használnál a bután-nagy .bmp helyett, ami konvertálás után így néz ki:
Klikk! a képre az élesebb nézetért
Klikk! a képre az élesebb nézetért
(az Ingyenes IrfanView programmal alakítottam át a fájlodból történő "kibányászás" után 2 MiB helyett mindössze 61 KiB méretű a képed. (Ez a megoldás gyorsítja a LO működését is!):

((Egyébként meg célszerűbb lenne az űrlapodat MEGSZERKESZTENI a táblázatkezelővel a képként történő beillesztés + az adatok RÁSZERKESZTÉSE helyett... Addig persze bent lehet háttérképként a grafikus fájl, amíg hozzáilleszted a cellákat, és betűméreteket. De aztán törölheted.))
Sok sikert!
Kovács Tibor (W10x64Pro/W7x64P: 7.5.8;
winPenPack/PortableApps: LO3.3.1-7.6.2, AOO4.1.14
Ha megoldódott a probléma, jelöld a témaindító hozzászólásod címének szerkesztésével. Írd elé: [Megoldva].
wWolfff
Hozzászólások: 4
Csatlakozott: 2021. március 27., szombat 21:20

Re: cellák, mint checkboxok linkelése

Hozzászólás Szerző: wWolfff »

A képes dolgot megfontolom. Köszönöm a tippeket. Először úgy voltam vele, így egyszerűbb. Beteszem a képet azt kész. Nem kell bogarászni, vajon milyen betűtípussal íródhatott, mert ha meg is szerkesztem, 100% ugyanígy kell kinéznie.

Tegnap bújtam a netet, meg ma délelőtt is, és belevetettem magam ebbe a makró dologba.

Kimazsolázott infók, meg összeollózás alapján, össze tudtam dobni egy ilyet, amivel működik az "x"-elés.

Ezt hozzárendeltem a selection changed - sheet events-hez.

Biztos van ennek praktikusabb és elegánsabb módja is, de működik.

Kód: Egész kijelölése

REM  *****  BASIC  *****

option explicit

Sub PySelChange(oEvent)

dim option1 as object
dim option2 as object
dim option3 as object
dim option4 as object
dim option5 as object
dim option6 as object
dim option7 as object
dim option8 as object

Dim sheet as object
sheet = thiscomponent.sheets(0)

option1 = sheet.getCellRangeByName("V21")
option2 = sheet.getCellRangeByName("AE21")
option3 = sheet.getCellRangeByName("O23")
option4 = sheet.getCellRangeByName("V23")
option5 = sheet.getCellRangeByName("AE23")
option6 = sheet.getCellRangeByName("O25")
option7 = sheet.getCellRangeByName("V25")
option8 = sheet.getCellRangeByName("AE25")

if oEvent.supportsService("com.sun.star.sheet.SheetCell") then
	if oEvent.AbsoluteName = "$Munkalap1.$V$21" then
		if oEvent.formula = "" then
			option1.string = "x"
			option2.string = ""
			option3.string = ""
			option4.string = ""
			option5.string = ""
			option6.string = ""
			option7.string = ""
			option8.string = ""	
		end if	
	end if
	if oEvent.AbsoluteName = "$Munkalap1.$AE$21" then
		if oEvent.formula = "" then
			option1.string = ""
			option2.string = "x"
			option3.string = ""
			option4.string = ""
			option5.string = ""
			option6.string = ""
			option7.string = ""
			option8.string = ""	
		end if	
	end if
	if oEvent.AbsoluteName = "$Munkalap1.$O$23" then
		if oEvent.formula = "" then
			option1.string = ""
			option2.string = ""
			option3.string = "x"
			option4.string = ""
			option5.string = ""
			option6.string = ""
			option7.string = ""
			option8.string = ""	
		end if	
	end if
	if oEvent.AbsoluteName = "$Munkalap1.$V$23" then
		if oEvent.formula = "" then
			option1.string = ""
			option2.string = ""
			option3.string = ""
			option4.string = "x"
			option5.string = ""
			option6.string = ""
			option7.string = ""
			option8.string = ""	
		end if	
	end if
	if oEvent.AbsoluteName = "$Munkalap1.$AE$23" then
		if oEvent.formula = "" then
			option1.string = ""
			option2.string = ""
			option3.string = ""
			option4.string = ""
			option5.string = "x"
			option6.string = ""
			option7.string = ""
			option8.string = ""	
		end if	
	end if
	if oEvent.AbsoluteName = "$Munkalap1.$O$25" then
		if oEvent.formula = "" then
			option1.string = ""
			option2.string = ""
			option3.string = ""
			option4.string = ""
			option5.string = ""
			option6.string = "x"
			option7.string = ""
			option8.string = ""	
		end if	
	end if
	if oEvent.AbsoluteName = "$Munkalap1.$V$25" then
		if oEvent.formula = "" then
			option1.string = ""
			option2.string = ""
			option3.string = ""
			option4.string = ""
			option5.string = ""
			option6.string = ""
			option7.string = "x"
			option8.string = ""	
		end if	
	end if
	if oEvent.AbsoluteName = "$Munkalap1.$AE$25" then
		if oEvent.formula = "" then
			option1.string = ""
			option2.string = ""
			option3.string = ""
			option4.string = ""
			option5.string = ""
			option6.string = ""
			option7.string = ""
			option8.string = "x"	
		end if	
	end if
end if

End Sub
Ha majd lesz időm biztos megszerkesztem.

Valami olyasmit is szeretnék majd, hogy ez valami frontend legyen, a munkafüzet2-re, ahol meg naplószerűen felrögzíti a jelentéseket.
Libreoffice 7.0.4.2 / (VMWare) Linux Mint 19.3 Cinnamon 4.4.8
Avatar
Zizi64
Globális moderátorok
Hozzászólások: 4031
Csatlakozott: 2008. november 12., szerda 21:22
Tartózkodási hely: Budapest

Re: cellák, mint checkboxok linkelése

Hozzászólás Szerző: Zizi64 »

Tegnap bújtam a netet, meg ma délelőtt is, és belevetettem magam ebbe a makró dologba.

Kimazsolázott infók, meg összeollózás alapján, össze tudtam dobni egy ilyet, amivel működik az "x"-elés.
Helyes!
Én is így tanultam meg a LO-t programozni. És még mindig így tanulom.
Sok sikert!
Kovács Tibor (W10x64Pro/W7x64P: 7.5.8;
winPenPack/PortableApps: LO3.3.1-7.6.2, AOO4.1.14
Ha megoldódott a probléma, jelöld a témaindító hozzászólásod címének szerkesztésével. Írd elé: [Megoldva].
Válasz küldése