[ neptuncokg @ 26.06.2010. 00:15 ] @
U jednoj vba proceduri koristim na više mesta kopiranje filtriranih i susednih područja. Sve to radi kako treba, uz korisćenje SpecialCells kopiranja. Na kraju jednog koda uporno mi se prekida makro. Evo dela procedure:
Code:
If ...
    Range("C" & pr, Range("C" & pk)).SpecialCells(xlCellTypeVisible).Copy
    Sheets("ZL").Range("L4").PasteSpecial Paste:=xlPasteValues, OPERATION:=xlNone, SkipBlanks:=False, Transpose:=False

    Range("H" & pr, Range("H" & pk)).SpecialCells(xlCellTypeVisible).Copy
    Sheets("ZL").Range("M4").PasteSpecial Paste:=xlPasteValues, OPERATION:=xlNone, SkipBlanks:=False, Transpose:=False

    Range("I" & pr, Range("I" & pk)).SpecialCells(xlCellTypeVisible).Copy
    Sheets("ZL").Range("N4").PasteSpecial Paste:=xlPasteValues, OPERATION:=xlNone, SkipBlanks:=False, Transpose:=False
End if

Sve se uvek izvrši osim POSLEDNJEG REDA - Sheets("ZL").Range("N4")...
Tu se makro prekine, a kad odem na Sheets ("ZL"), sve prethodne kolone su popunjene kako treba, aktivna je ciljna ćelija "N4", ali ništa nije iskopirano u toj koloni. U levom dnu ekrana je poruka: "Select destination and press ENTER or chose paste". I kad pritisnem enter, kopiranje se završi kako treba. Sve sam probao što mi je palo na pamet - od promene redosleda kod filtriranja, preformatiranja sheetova, zamena mesta kolonama... I uvek isto - stane na "N4" i kraj. Pokušao sam i da promenim "xlCellTypeVisible" u nešto drugo, ali uzalud.
Da, probao sam i na početku sa "On Error Resume Next", a na kraju "On Error GoTo 0". To pomogne da ne pukne makro, ali mi u "N" upiše nule umesto podataka. Zaista više nemam ni jedu ideju. Ne mogu da priložim dokumenat jer je prevelik. Hvala unapred na svakoj pomoći.

Edit: Dodati tagovi

[Ovu poruku je menjao 3okc dana 26.06.2010. u 10:33 GMT+1]
[ 3okc @ 26.06.2010. 09:42 ] @
To što ti je dokument prevelik da bi ga postavio nije opravdanje: kreiraj sam prazan, sa testnim podacima i ubaci sporni deo koda. Kako misliš da ti drugi rade debugging ako ni za ovoliki 'posao' nisi spreman?! Sve što nama preostaje je da sa ovim ponuđenim kodom 'gledamo u pasulj'..

Mogu samo da pretpostavim npr da nisi postavio kompletan kod u IF... sekciji i da, recimo, koristiš komandu Sheet.Activate pre spornog kopiranja. (Kako dolazi do zaustavljanja koda, da li se javlja neka greška ili ne, to nam nisi rekao.)

Naime, nijedan Range.Copy nema definisan Sheet na koji se kopiranje odnosi pa bi ovo moglo da dovede do 'greške' jer se tada uvek podrazumeva 'trenutno aktivan list'.

Pokušaj da svima njima dodaš definiciju lista iz kojeg se podaci kopiraju, za više zaista ne znam.