[ 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?
[ 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]