Navigacija
Lista poslednjih: 16, 32, 64, 128 poruka.

[Excel] Pomoć u praćenju promjena u radnom listu

[es] :: Office :: Excel :: [Excel] Pomoć u praćenju promjena u radnom listu

[ Pregleda: 3340 | Odgovora: 5 ] > FB > Twit

Postavi temu Odgovori

Autor

Pretraga teme: Traži
Markiranje Štampanje RSS

Sudarica

Član broj: 119175
Poruke: 209
*.dialin.iskon.hr.



Profil

icon [Excel] Pomoć u praćenju promjena u radnom listu08.12.2007. u 19:16 - pre 199 meseci
Molim Vas pomoć

Radim ogromne tabele i imam veliki problem praćenja promjena koje sam naknadno napravila u tabeli. Sada ih vodim ručno na papiru, ali često ne upišem sve pa se ne mogu kasnije snaći. Praćenje promjena u Alatima mi ne pomaže. Razmišljala sam da bi mi dobro došao jedan makro. Bilo bi idealno kada bi te promjena vodila u posebnoj radnoj knjizi koja bi se zvala Promjene & "(naziv radne knjige)". Na taj bi način mogla najlakše pratiti promjenu koju sam napravila i za godinu dana. Ta radna knjiga bi trebala sadržavati colonu "naziv reda"; naziv colone"; datum promjene; vrijeme promjene; iznos (+;-) za koji se dogodila promjena. Pretpostavljam da bi u svojoj osnovnoj radnoj knjizi (gdje je tabela) trebala imati nekakav poziv naredbe da želim da se promjene prate i gdje počinje kolona i reda u kojima je upisan naslov. Neznam koliko sam dobro objasnila. Pomoć mi je jako potrebna i velika hvala ako se pronađe rješenje.


Pozdrav
 
Odgovor na temu

Jpeca
Predrag Jovanović
poslovni analitičar
Gowi
Pančevo

Moderator
Član broj: 25683
Poruke: 2268
212.200.27.*

Sajt: www.gowi.rs


+109 Profil

icon Re: [Excel] Pomoć u praćenju promjena u radnom listu10.12.2007. u 09:38 - pre 199 meseci
Ako si pokušla sa praćenjem promena i listanjem na novom listu http://office.microsoft.com/en-us/excel/HP052038481033.aspx i to ti ne odgovara, onda možeš da napraviš makro koji će da registruje promene kako tebi odgovara - ali to nosi svoje probleme.
U osnovi treba da reaguješ na događaj Change radnog lista i da tu postaviš svoj kod koji zapisuje izvršenu promenu. Iz tvog pitanja pretpostavljam da ne želiš praćenje promena svih ćelija nego samo nekog opsega - Imenovao sam ovaj opseg TrackingRng. Takođe pretpostavljam da ćeš imati potrebu da uključiš/isključiš praćenje promena pa sam za to predvideo jednu ćeliju u kojoj upisuješ vrednost TRUE za uključivanje upisivanja promena. Osnovni kod bi bio

Code:

Private Sub Worksheet_Change(ByVal Target As Range)
Dim OldValue As Variant
 ' Da li je ukljucena istorija i da li je celija u opsegu koji se menja
If ThisWorkbook.Sheets("Promene").Range("HistoryOn").Value = True And _
   Not (Application.Intersect(Target, Range("TrackingRng")) Is Nothing) Then
   ' Zapamti prethodnu vrednost preuzeto sa www.developerfood.com
   With Application
     .EnableEvents = False
     .Undo
   OldValue = Target.Cells(1).Value
     .Undo
     .EnableEvents = True
   End With
  UpisiPromenu Target, OldValue
End If
End Sub

Sub UpisiPromenu(cl As Range, OldValue As Variant)
' Rutina koja upisuje podatke o izmeni u list Promene
' P.Jovanovic  za elitesecurity.org
'
Dim shHist As Worksheet
Dim rw As Long
Set shHist = ThisWorkbook.Sheets("Promene")
'Upis promene
With shHist
         rw = .Range("A65536").End(xlUp).Row + 1  ' Nalazenje prvog praznog reda
        .Cells(rw, 1).Value = cl.Address ' Adresa celije koja se menja
        .Cells(rw, 2).Value = Date 'tekuci datum
        .Cells(rw, 3).Value = Time 'tekuce vreme
        .Cells(rw, 4).Value = cl.Value - OldValue  'Promena vrednosti
      
End With
End Sub


Pošto ne znam kako su ti organizovani podaci (gde se nalaze naslovi kolona/redova) umesto toga upisuje se adresa ćelije, ali ako postoji jasna organizacija (npr. naslovi u prvoj koloni/redu) to nije problem prepraviti. Takođe zbog jednostavnosti upisivanje se vrši u posebnom listu - umesto toga može u posebnoj tabeli .

Ono što jeste problem je šta se dešava kad podaci koje uneseš nisu numerički ili još interesantnije kad menjaš više ćelija? Ako isključivo ti radiš sa tabelom i znaš probleme možda je to prihvatljivo. Ipak presretanje događaja Change nosi puno rizika, jer je teško predvideti sve akcije korisnika u kojima će se ovaj događaj aktivirati. Nisam siguran ni kako će se Undo ponašati nakon uključivanja makroa - koliko sam probao u verzij 2007 radi ali znam da je to često problem sa makroima.

U prilogu je jednostavan primer na kome ovo možeš da testiraš u listu "Promena" upisuju se promene u koloni C, kad je praćenje uključeno.
Nije to loše Rembrante, samo što ne bi dodao još malo boje?
Prikačeni fajlovi
 
Odgovor na temu

Sudarica

Član broj: 119175
Poruke: 209
*.dialin.iskon.hr.



Profil

icon Re: [Excel] Pomoć u praćenju promjena u radnom listu10.12.2007. u 19:53 - pre 199 meseci
Pratila sam promjene pomoću Track Changes, ali ja tu svaku promjenu moram imati zapisanu i pošto je njih jako puno ne zapišem sve i onda je to problem .

-htjela bih pratiti sve numeričke promjene koje se događaju u tabeli. Opseg može biti i cjeli radni list. Zamislila sam da bi ta knjiga Promjena ustvari bila kao prodložak s kojega bi pozvala praznu radnu knjigu u kojoj bi radila svoju tabelu. Na taj način bi mogla imati na predlošku uključi i isključi praćenje, odnosno u UsF u kojeg bi upisala u kojem redu mi se nalazi naziv stupca i u kojem stupcu se nalazi naziv reda moje tabele. Pospremila bi predložak pod nazivom Promjene & (naziv radne knjige-moje tabele). Znači Predložak odnosno kasnije Promjene bi ustvari imali vezu a to je moja tabela u kojoj se događaju promjene koje ja mogu uključiti odnosno isključiti. Ovo su samo moja razmišljanja ali nisam baš sigurna u to.

Prilažem tabelu i promjene kako ih ja zamišljam vrlo slično onom što ste mi predložili.

Pozdrav

Prikačeni fajlovi
 
Odgovor na temu

Jpeca
Predrag Jovanović
poslovni analitičar
Gowi
Pančevo

Moderator
Član broj: 25683
Poruke: 2268
212.200.27.*

Sajt: www.gowi.rs


+109 Profil

icon Re: [Excel] Pomoć u praćenju promjena u radnom listu11.12.2007. u 08:09 - pre 199 meseci
Izmene koje si navela nisu neki problem - mislio sam da to možeš i sama.
Citat:
htjela bih pratiti sve numeričke promjene koje se događaju u tabeli. Opseg može biti i cjeli radni listOpseg može biti i cjeli radni list.

Izmenimo uslov u događaju Worksheet_Change tako da nema provere opsega, a dodamo proveru da li je ćelija koja se menja numerička.
Code:
If ThisWorkbook.Sheets("Promene").Range("HistoryOn").Value = True And _
   IsNumeric(Target.Value) Then 

Uveo sam nove imenovane opsege za broj reda i kolone naslova tako da sad prilikomu upisa stavke u istoriju izmena upisuje naslove reda/kolone umesto adrese
Code:

' Naslov reda koji se menja
  .Cells(rw, 1).Value =   cl.Worksheet.Cells( _
                    cl.Row, _
                    .Range("NaslovnaKolona").Value).Text  
' Naslov kolone  koja se menja
  .Cells(rw, 2).Value =   cl.Worksheet.Cells( _
                    .Range("NaslovniRed").Value, _
                    cl.Column).Text 

Što se tiče predložaka ja bih u istoj tabeli vodio istoriju i upisivao promene (Možeš eventualno list promena da sakriješ da napraviš dugme pomoću koga startuješ praćenje promena i upisuješ naslovni red i kolonu). Ako ti odgovara možeš tabelu istorije da snimiš kao predložak koji ćeš koristiti kod kreiranja novih tabela u kojima je potrebno praćenje.
Probaj da izmeniš podatke pa vidi kako funkcioniše praćenje. Nisam napomenuo da je ceo kod u okviru lista Evidencije.
Nije to loše Rembrante, samo što ne bi dodao još malo boje?
Prikačeni fajlovi
 
Odgovor na temu

Sudarica

Član broj: 119175
Poruke: 209
*.dialin.iskon.hr.



Profil

icon Re: [Excel] Pomoć u praćenju promjena u radnom listu15.12.2007. u 16:45 - pre 199 meseci
Radi sve onako kako treba, međutim naslovne kolone mogu biti u dva ili više redova gdje su često ćelije spojene. Spojene su uglavnom zato što grupiraju određenu vrstu podataka gdje se obično u grupi ponavljaju nazivi stupaca. Tako da kolonu jabuke mogu imati u grupi 2006. u grupi 2007. A da bi kasnije znala u kojoj grupi imam promjenu moram imati i naziv kolone za grupu. Pokušala sam sama ali nije dobro daje mi samo prvu kolonu a to je raspon ćelija i treba ga odrediti a ja ne znam kako.

Hvala
Pozdrav

Prikačeni fajlovi
 
Odgovor na temu

Jpeca
Predrag Jovanović
poslovni analitičar
Gowi
Pančevo

Moderator
Član broj: 25683
Poruke: 2268
*.bisinter.net.

Sajt: www.gowi.rs


+109 Profil

icon Re: [Excel] Pomoć u praćenju promjena u radnom listu16.12.2007. u 17:08 - pre 199 meseci
Ukoliko godine uvek pišeš iznad naslova kolona, nije potrebno da definišeš novi parametar. U odnosu na ćeliju C naslov iznad u slučaju kad imaš spojene (merged) ćelije možeš dobiti kao:
Code:
C.Offset(-1, 0).MergeArea.Cells(1, 1).Text 

Offes vraća ćeliju za jedan red iznad C, a zatim MergedArea vraća opseg spojenih ćelija koji sadrži datu ćeliju. Na kraju uzmemo prvu ćeliju iz tog opsega.
Daklle u tvom slučaju dodaćeš red za upis u drugu kolonu:
Code:
.Cells(rw, 2).Value = _ 
cl.Worksheet.Cells(rwNaslov, cl.Column).Offset(-1, 0).MergeArea.Cells(1, 1).Text 

Nije to loše Rembrante, samo što ne bi dodao još malo boje?
Prikačeni fajlovi
 
Odgovor na temu

[es] :: Office :: Excel :: [Excel] Pomoć u praćenju promjena u radnom listu

[ Pregleda: 3340 | Odgovora: 5 ] > FB > Twit

Postavi temu Odgovori

Navigacija
Lista poslednjih: 16, 32, 64, 128 poruka.