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

Selektovanje i kopiranje od prve do zadnje popunjene celije uz....

[es] :: Office :: Excel :: Selektovanje i kopiranje od prve do zadnje popunjene celije uz....

[ Pregleda: 1558 | Odgovora: 8 ] > FB > Twit

Postavi temu Odgovori

Autor

Pretraga teme: Traži
Markiranje Štampanje RSS

inzenjerija
inzenjer
sta dodje pod ruku
Tutin

Član broj: 336351
Poruke: 48
*.static.isp.telekom.rs.



+1 Profil

icon Selektovanje i kopiranje od prve do zadnje popunjene celije uz....04.10.2018. u 12:41 - pre 67 meseci
Pozdrav narode!

Imam problem sa selektovanjem i kopiranjem opsega. u koloni A su podaci koje treba selektovati pa potom kopirati od prve pa sve do zadnje popunjene celije s tim što u tom opsegu ima i praznih celija koje i treba da budu prazne i kao takve da se selektuju i kopiraju.
Nasao sam makro

Code:
 Sub KOPIRANJE()

        

    Dim LastRow         As Long
    Dim i               As Long
    Dim Range           As Range
        
    With Sheets("OSNOVA").Activate
        LastRow = .Cells(.Rows.Count, "A").End(xlUp).Row
        
            Range("A1:A" & LastRow).Select
            
                Selection.Copy

    End With
End Sub


ali ima debug koji nisam u stanju da otklonim.
Znaci kao da sam odradio SELECT - COPY, a potom peske treba da idem gde mi treba da odradim CTRL+V
Znali neko kako ovo da odradim.
Hvala unapred
sve ce ovo jednom proci
Prikačeni fajlovi
 
Odgovor na temu

snenad_82
Nenad Stevanovic
Niš

Član broj: 126686
Poruke: 74
*.dynamic.isp.telekom.rs.



Profil

icon Re: Selektovanje i kopiranje od prve do zadnje popunjene celije uz....04.10.2018. u 13:51 - pre 67 meseci
Recimo
Code:
Sub KOPIRANJE()
    
    Dim LastRow         As Long
    Dim i               As Long        
    With Sheets("OSNOVA").Activate
        LastRow = Cells(Cells.Rows.Count, "A").End(xlUp).Row        
            Range("A1:A" & LastRow).Select            
                Selection.Copy
    End With
End Sub

Ne treba definisati Range jer je već definisan i malo sam izmenio kako se nalazi zadnja popunjena ćelija.
Ko zna više može dalje optimizovati kod.
 
Odgovor na temu

bokinet

Član broj: 29844
Poruke: 574



+50 Profil

icon Re: Selektovanje i kopiranje od prve do zadnje popunjene celije uz....04.10.2018. u 14:11 - pre 67 meseci
Ako je naziv "OSNOVA" sheet-a odakle se kopira onda je dati kod uredu a ako nije i ako je kao u prilozenom Excel file-u onda treba da ide "Sheet1" umesto "OSNOVA"

Ako nije potrebno da se prvo odabere i aktivira odredjeni sheet kao sto je vec dato u kodu, vec da se koristi trenutni, onda treba ukloniti deo kod koji se na to odnosi.


Dati kod samo vrsi f-ju COPY cele kolone A u clipboard ali ne i f-ju PASTE

U prilogu Excel file sa obe varijante koda u VBA. Takodje je promenjen namerno donji redosled sheet-ova i 'sheet1' je stavljen na poslednje mesto a 'sheet2' na prvo.

Iz Excel file kod - nekoliko nacina...

Code:


Sub KopirajV1()

    Dim LastRow As Long

    Sheets("Sheet1").Activate
    LastRow = Cells(Cells.Rows.Count, "A").End(xlUp).Row
    Range("A1:A" & LastRow).Copy
    'Selection.Copy
    
End Sub


Sub KopirajV2()

    Dim LastRow As Long

    LastRow = Cells(Cells.Rows.Count, "A").End(xlUp).Row
    Range("A1:A" & LastRow).Copy
    'Selection.Copy

End Sub


Sub KopirajV3()

    Dim LastRow As Long

    With Sheets("Sheet1")
        .Activate
        LastRow = .Cells(.Cells.Rows.Count, "A").End(xlUp).Row
        .Range("A1:A" & LastRow).Copy
    End With
    
End Sub


Prikačeni fajlovi
 
Odgovor na temu

inzenjerija
inzenjer
sta dodje pod ruku
Tutin

Član broj: 336351
Poruke: 48
*.static.isp.telekom.rs.



+1 Profil

icon Re: Selektovanje i kopiranje od prve do zadnje popunjene celije uz....05.10.2018. u 11:29 - pre 67 meseci
hvala Vam Nenade naravno i tebi Boki

ovo radi radnju kada su u pitanju popunjene celije odnosno zaboravio sam da kazem da su na originalnom fajlu ispinjene celije u koloni A od 1 do 12000 formulama.
e sad formulama je uslovljeno da ako nema rezultata da je celija blanko, medjutim u njoj postoji formula, zato ovi makroji racunaju da su to popunjene celije od 1 do 12000 a treba recimo od 1 do 550
sve ce ovo jednom proci
 
Odgovor na temu

bokinet

Član broj: 29844
Poruke: 574



+50 Profil

icon Re: Selektovanje i kopiranje od prve do zadnje popunjene celije uz....05.10.2018. u 13:39 - pre 67 meseci
pa da dobro ono sto se zaboravi to onda nije napisano i receno te tako ako nije problem da se onda opet definise sa vase strane sta se hoce?

takodje, recimo od 1 do 550 znaci da moze da bude i 0 i 1 ali i recimo 1 do 250 ili opet recimo 1 do 1500 :)

 
Odgovor na temu

inzenjerija
inzenjer
sta dodje pod ruku
Tutin

Član broj: 336351
Poruke: 48
*.dynamic.isp.telekom.rs.



+1 Profil

icon Re: Selektovanje i kopiranje od prve do zadnje popunjene celije uz....06.10.2018. u 20:13 - pre 67 meseci
evo konkretnog primera odnosno na cemu radim da bi bolje razumeli problematiku.
U svemu ovome sve se vrti oko kolone V. zadnji ispisani rezultat je u celiji V2325. a makro koji ste postavili kopira celije sve do V12000.
Kao sto sam prethodno rekao postoje formule u celije od V8 pa sve do V12000. kada kopiram preko makroa i idem da kopiram na promer u NOTEPAD-u on iskopira praznih oko 9000 praznih redova.
dali sada razumete
sve ce ovo jednom proci
Prikačeni fajlovi
 
Odgovor na temu

bokinet

Član broj: 29844
Poruke: 574



+50 Profil

icon Re: Selektovanje i kopiranje od prve do zadnje popunjene celije uz....06.10.2018. u 21:11 - pre 67 meseci
Na osnovu vaseg priloga i ako sam lepo prebrojao kolone onda bi to nesto bilo ovako...

Code:


Sub MakeCopy4Me()

    Dim iTotalRows As Long
    Dim iRow As Long
    Dim i As Long

    ' Get total number of rows in sheet
    iTotalRows = ActiveSheet.UsedRange.Columns(22).Rows.Count

    ' Go from last row till first row from back which has data in cell
    For i = iTotalRows To 1 Step -1
    
        If Cells(i, 22).Value <> "" Then
            
            iRow = i
            Exit For

        End If
        
    Next
    
    ' Make a copy of range
    ActiveSheet.Range("V1:V" & iRow).Copy

End Sub

 
Odgovor na temu

inzenjerija
inzenjer
sta dodje pod ruku
Tutin

Član broj: 336351
Poruke: 48
*.dynamic.isp.telekom.rs.



+1 Profil

icon Re: Selektovanje i kopiranje od prve do zadnje popunjene celije uz....06.10.2018. u 21:25 - pre 67 meseci
to je to Boki. hvala ti neizmerno

ako nije problem moze li povise ili u nastavku svakog reda koda da napises sta tacno koja komada radi, cisto da bi razumeli kod.
laik sam za ovo zato mi dosta znaci a nadam se i ostalima da znam eto da bih mozda mogao i u neke druge svrhe da se ovaj kod iskoristi.

jos jednom najlepse hvala Boki
sve ce ovo jednom proci
 
Odgovor na temu

bokinet

Član broj: 29844
Poruke: 574



+50 Profil

icon Re: Selektovanje i kopiranje od prve do zadnje popunjene celije uz....06.10.2018. u 23:28 - pre 67 meseci

Ajd da probamo ovako...

Code:


Sub MakeCopy4Me()

    ' Deklarisanje (definisanje) naziva i
    ' vrste za svaku promenljivu koja se koristi u ovom delu koda
    ' Sve tri su tipa Long - dugacki broj
    Dim iTotalRows As Long
    Dim iRow As Long
    Dim i As Long

    ' U promenljivu 'iTotalRows' se smesta vrednost
    ' koja predstavlja ukupan broj zauzetih redova za kolonu 22
    iTotalRows = ActiveSheet.UsedRange.Columns(22).Rows.Count

    ' Petlja koja ide od
    ' ukupnog broja zauzetih redova definisanih u 'iTotalRows' promenljivi do prvog reda (radi se u kontra smeru od najveceg ka najmanjem; zato se u delu FOR, za korak 'Step' koristi -1)
    ' (Petlja je deo koda koji se ponavlja odredjeni broj puta i koji pocinje sa FOR a zavrsava sa NEXT)
    For i = iTotalRows To 1 Step -1
    
        ' IF Uslov koji proverava ako postoji vrednost u trenutnoj celiji koja nije prazna vrednost onda
        ' (Cells(Row,Col) - gde je 'i' promenljiva vrednost za 'Row' a '22' je broj kolone)
        If Cells(i, 22).Value <> "" Then
            
            ' Azuriraj vrednost iRow posto smo dobili osnovni uslov i nasli prvu vrednost za celiju (polje) koja ima vrednost
            iRow = i
            
            ' Izadji iz petlje posto nema vise potrebe da proveravamo osnovni uslov
            Exit For

        End If
        
    Next
    
    ' Selektuj kolonu V gde je su vrednosti u opsegu od pocetka pa sve do
    ' iRow vrednosti tj. poslednje (prve od pozadi) celije koja ima vrednost i kopiraj u bafer tj. clipboard
    ActiveSheet.Range("V1:V" & iRow).Copy

End Sub



 
Odgovor na temu

[es] :: Office :: Excel :: Selektovanje i kopiranje od prve do zadnje popunjene celije uz....

[ Pregleda: 1558 | Odgovora: 8 ] > FB > Twit

Postavi temu Odgovori

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