I
Događaj Worksheet_change dešava se prilikom unosa/izmene neke ćelije radnog lista i pokreće makro.
Ti si u kodu izmenio opseg radnog lista koji se proverava da li je bilo izmene i stavio opseg B49:C68. Međutim ovaj opseg su formule i koliko razumem podaci u njih se ne unose nego računaju?! Izmene vršiš u opsegu C2:V?? pa to treba da ti bude opseg koji pratiš da li je bilo izmene i u zavisnosti od toga pokrećeš makro.
Dakle red u kome se ispituje da li postoji presek Target i Range treba da glasi
Code:
If Not Application.Intersect(Target, Range("C2:V20")) Is Nothing Then
II
Drugi problem je kopiranje opsega sa formulama - Excel standardno radi sa relativnim adresama pa će formula
=C41 iz ćelije B49 kad se iskopira u ćeliju F49 glasiti
=G41, što neće valjati. Ni sortiranje takvih formula nije moguće. Rešenje je kopiranje po vrednosti. Red ActiveSheet.Paste zameni sa
Code:
Selection.PasteSpecial Paste:=xlPasteValues
Nije mi jasna ni organizacija table - malo po kolonama, malo po redovima - na taj način sebi praviš probleme jer formule ne možeš prosto kopirati nego uvek moraš da unosiš, ali to je već treći problem o kome ne bih sada.
Nije to loše Rembrante, samo što ne bi dodao još malo boje?