marrrek
03.01.18,13:15
Prosím poraďte, v exceli mám tri bunky - B1 je v mmol/l, bunka B2 je v °N a bunka B3 je v CaCO₃/l, vzťah (vzorec) medzi bunkami mám nastavený v B1: nič, v B2: =B1*5,6 a v B3: =B2*17,8. Ak zapíšem hodnotu do B1 automaticky sa mi vyrátajú a zapíšu hodnoty aj do B2 a B3 ak však nepoznám hodnotu B1 (vmmol/l) ale poznám hodnotu bunky B3 (CaCO₃/l) ktorú zapíšem do bunky B3 vzorec v bunke B3 zmažem, v B2 je 0 a B1 je prázdna... Ako spraviť aby boli jednotlivé bunky poprepájané vzorcami a dalo sa do nich zapisovať s tým že sa vždy dopíšu prepočítané údaje do zvyšných dvoch buniek? Ďakujem pekne za pomoc :)

PS: je možné nastaviť že už prí písaní do jednej bunky bude automaticky prepočítavať a dopisovať do ostatných, nie až po kliknutí Entra resp myši?

PS: je možné úplne skryť vzorce? resp. zablokovať ich editáciu bežným užívateľom (ale tak aby sa dali zapisovať hodnoty do buniek B1 až B3)?
vicktor
03.01.18,12:29
a preco po vyplneni hodnoty do B3 nemozes vysledok vypoctu zapisat do napr. B6?
Ci sa objavi alebo nie osetri funkciou isnumber, isformula.
Zablokovat editacia sa da, klikni Help a napis "field protection". Dostanes navod, rady, napovedu.
marrrek
03.01.18,16:40
ďakujem za odpoveď, myslíš tak že s B1 sa bude zapisovať do B4, s B2 do B5 a B3 do B6 či? (ospravedlňujem sa, v exceli som okrem jednoduchých vzorcov nič nikdy nerobil :( )
sthruska
03.01.18,17:32
V prvom rade porušuješ základné pravidlo. Tak kde sú vzorce sa nemá čo zapisovať. Vstupné hodnoty zapisuj do samostatných buniek a výsledky zobrazíš v bunkách so vzorcami. Tak ľahko dosiahneš, že zapíšeš ľubovoľnú hodnotu a ostatné sa Ti vypočítajú.
mepex
03.01.18,19:16
Ponúkam moje riešenie. Vyplniť iba jednu hodnotu a všetky sa zobrazia v ďalšom stĺpci. Písať do jednej bunky a zároveň počítať čo sa má v nej zobraziť ide iba cez makrá a to je podľa mňa pri takomto jednoduchom príklade nepotrebné. Testuje sa vždy od dola (zadanie hodnoty) následne k zadanému sa vykonáva výpočet. List je zamknutý bez hesla.
vicktor
04.01.18,06:20
Nie. B1, B2 a B3 by ostali ako si chcel povodne, iba ak v B3 prepises vzorec na hodnotu, spatny prepocet sa ulozi inde nez do B1 (do B6).
Ale suhlasim so sthruskom, ze je to podivne (nezmyselne) aby si si zrusil vzorec v B3, tak radsej tie spatne prepocty rob inde, napr. E1, E2, E3.
vicktor
04.01.18,06:24
Pekne, ale mam , malicku poznamocku: nemali by sa dat sucasne vyplnit B1 aj B3 (resp. tvoje bunky).
mepex
04.01.18,11:33
Ako si predstavujte aby prebiehal výpočet z dvoch zadaných hodnôt súčasne? Ak máte potrebu prevádzať dve hodnoty naraz, skopírujte si tabuľku ešte raz napr. pod seba. Pridal som aj také riešenie na listoch 1x a 2x.
vicktor
04.01.18,12:16
Takto som myslel:
1: na zaciatku som zadal B1, vzorce vyratali dalsie hodnoty.
2: Zadal som B2 (B1 ostalo nezmenene), cisla sa preratali.
3: Zadal som B3 (B1 a B2 ostali), cisla sa preratali.
4: Zadal som B1 - nic, B2 - nic, B3 - cisla sa preratali.
Moja poznamka mierila k tomu, ze preco je rozdiel v pokracovani?
Resp. po zadani ktorejkolvek hodnoty tie dve dalsie by sa mohli vymazat.
Neber to ako kritiku, len poznamku. Vsak som ti dal pochvalu. :)
marrrek
04.01.18,12:52
nie súčasne nie, vždy poznám iba jednu hodnotu a a potrebujem poznať zvyšné dve...

*edit* ideálne riešenie je: ak zapíšem údaj do B1 dopíšu sa prepočtom údaje do B2 a B3, ak do B3 tak zasa do B1 a B2 atď. Ak by sa stalo že zapíšem do B1 (B2 a B3 sa dopočítaju) a rozhodnem sa zapísať údaj do B3 prepíšu sa údaje v B1 a B2 tj. vždy by sa prepísali údaje podľa posledne zapísanej bunky...
mepex
05.01.18,07:07
Priložil som riešenie Combo (pod prepočítavacou tabuľkou), ktoré okrem zadania hodnoty, umožňuje aj výber mernej jednotky (k zadanej hodnote) a automaticky dopočíta ostatné dve hodnoty a merné jednotky.
Victor ďakujem za pochvalu, ale Tvojej logike nerozumiem (zadať sa dá iba jedna hodnota, aby sa dal urobiť prevod na ostatné mj). Snáď to bude pochopiteľné z pridaného riešenia.
vicktor
05.01.18,07:22
Taky excelovsky zongler a nerozumies?
Zopakuj tie kroky co som napisal vyssie.
https://s17.postimg.org/lw79t693j/tvrdost_vody.png
Aby novo zadana hodnota prebila a vymazala tie dalsie dve.
Teraz ich prebije iba CaCO (ale nevymaze).
mepex
05.01.18,08:23
Už rozumiem, ale to bez programovania sa nedá urobiť (aspoň nepoznám spôsob). Nebudem programovať prevodník, kde z jedného čísla vyplývajú ďalšie dve. Vedel by som to spraviť, aj viacerými spôsobmi, ale presadzujem názor, že väčšinou stačí poznať funkcionalitu Excelu. To, že ste postupne menili všetky vstupné hodnoty vzorcami neviem otestovať a riešenie bolo stavané na to, že zadáte jednu, a pred zadaním druhej vstupné hodnoty vymažete. Podľa mňa je jednoduchšie na pochopenie a prácu combo,(toto riešenie je tiež v mojom príspevku) ale snažil som sa rešpektovať vstupné zadanie autora.
elninoslov
10.01.18,11:12
Private Sub Worksheet_Change(ByVal Target As Range)
Dim Zmena As Range, H(1 To 3, 1 To 1)
Set Zmena = Intersect(Target, Range("B1:B3"))
If Not Zmena Is Nothing Then
With Zmena.Cells(1)
If IsEmpty(.Value2) Then
H(1, 1) = Empty: H(1, 1) = Empty: H(3, 1) = Empty
Else
Select Case .Row
Case 1: H(1, 1) = .Value2: H(2, 1) = H(1, 1) * 5.6: H(3, 1) = H(2, 1) * 17.8
Case 2: H(2, 1) = .Value2: H(1, 1) = H(2, 1) / 5.6: H(3, 1) = H(2, 1) * 17.8
Case 3: H(3, 1) = .Value2: H(2, 1) = H(3, 1) / 17.8: H(1, 1) = H(2, 1) / 5.6
End Select
End If
End With
Application.EnableEvents = False
Range("B1:B3").Value2 = H
Application.EnableEvents = True
Set Zmena = Nothing: Erase H
End If
End Sub
marrrek
10.01.18,17:27
ty kkso pekneee, len keby som tomu rozumel :( pls elninoslov nevyvoril by si xls subor ako vyssie mepex? dakujem