[ jakov1 @ 26.10.2006. 20:54 ] @
Kako da izvedem da kad unesem neki broj u celiju radnog lista ta celija bude automatski pomnozena sa 1.18 pa sa 1.2 i da to vazi za svaku celiju? |
[ jakov1 @ 26.10.2006. 20:54 ] @
[ timmy @ 27.10.2006. 07:07 ] @
Prvo sto mi pada na pamet je da presretnes Excelov event handler,
da u njemu proveris u koj celiji je izvrsen unos i ako je to celija koja pripada regionu koji pratis da sa njom (ili nekim drugim celijama, pa cak i sa ostatkom sveske) odradis naknadnu operaciju. Imaj na umu da ce azuriranje svih celija u svesci sigurno da uspori rad u Excelu a na nekim masinama (nedostatak memorije) i da blokira aplikaciju. Ako je pak u pitanju samo aktivna celija to nije veliki problem. Progooglaj malo okolo i naci ces na netu resenje (trazi Excel Event Handler Worksheet_change...), ako ne napravicu ti primer za ovo. Pozdrav [ Jpeca @ 27.10.2006. 07:48 ] @
Kako si postavio problem jedino rešenje je - kao što je Timmy objasnio - da napišeš svoj kod za događaj OnChange za sve ćelije u listu. Ipak takva rešenja obično stvaraju više problema nego što rešavaju, pa treba biti vrlo oprezan.
Code: Private Sub Worksheet_Change(ByVal Target As Range) ' Preuzeto sa www.ozgrid.com ' Mnozi sadrzaj numericke celije sa 1.18 If IsNumeric(Target) Then 'Preskoci sve eventualne greske da ne zaglave kod On Error Resume Next ' Vazno da se iskljuci ponovni poziv ovog dogadjaja ' tako da se izbegne (beskonacna) petlja Application.EnableEvents = False Target = Target * 1.18 'Ponovo omoguciti dogadjaj OnChange Application.EnableEvents = True 'Allow run time errors again On Error GoTo 0 End If End Sub Nisam razumeo ono 'automatski pomnozena sa 1.18 pa sa 1.2 ' da li to znaci da treba originalnu vrednost pomnoziti sa 1.18*1.2 (1.67088) - onda to izmeni u kodu ili treba da se prikazu obe ove vrednosti Alternativno resenje je da jedan list odvojis za unos, a drugi list (listove) za sračunate vrednosti jednostavno na drugom listu napraviš formulu u ćeliji A1 i iskopiraš je u sve ćelije koje se popunjavaju. Ili mozes navedeni kod preraditi da popunjava ćelije na drugom listu - to je bolja opcija jer ti originalne vrednosti ostaju neizmenjene. [Ovu poruku je menjao Jpeca dana 28.10.2006. u 17:39 GMT+1] Copyright (C) 2001-2025 by www.elitesecurity.org. All rights reserved.
|