Professional Documents
Culture Documents
1 of 7
http://www.ic.ims.hr/faq/office2007/excel2007/copy-selected-nonblanks-...
MICROSOFT EXCEL 2007 - Kako kopirati selektirane ne susjedne elije na drugi List okomito
HOME
FORUM Win Tips&Tricks
KAKO INSTALIRATI
WINDOWS XP ?
Kako instalirati Win XP sa
USB STICKA
Kako instalirati WINDOWS
7?
Nauite za 15 minuta raditi
u Windows XP
Nauite Internet Explorer i
Outlook Express
za 15 minuta
Kako kreirati BOOT CD za
instalaciju Win95
MS OFFICE 2003
MS OFFICE 2007
HOME NETWORK
tutorijal za mree
Network Windows 7 - XP
ZANIMLJIVI LINKOVI
BROJEVNI SUSTAVI
(DEC, OKT, BIN, HEX )
CMD - Command Prompt
CISCO - CCNA tutoriali
VLSM and SUBNETTING
Tutorijali za phpBB forum
JAVASCRIPT
VISUAL BASIC 6.0
AUTOCAD 2007
www.erodate.rs/devojke
Pomozite Vaim oima Uz nae naoare, odmorite oi, smanjite dioptriju, poruite ODMAH www.umbrella.co.rs
Raiffeisen KE KREDITI Popunite svoj zahtev - online. Novac na Vaem raunu za 24h!
Google oglasi
Microsoft Excel
Excel
VBA Excel
www.raiffeisenbank.rs
Kopiranje selektiranih nesusjednih elija ili vrijednosti na drugi radni list pomou VBA makronaredbe
(How to copy multiple nonblank cells to another Sheet)
Ako ste ikada imali potrebu odraditi neko kopiranje na brzinu a takvih kopiranja ima podosta, morali ste
selektirati odreene elije pa Copy pa Paste i tako u krug, a jo ako ih je trebalo posloiti jo vei problem. To zna
biti zamorno i dosadno. Pomou VBA moete to odraditi jednim klikom na button.
U ovom primjeru pokazat u kako moemo selektirati vie ne-susjednih elija (multiple cells) i kopirati ih na drugi
radni list u okomitom rasporedu pomou VBA makronaredbe ali tako da kopirane elije budu jedna ispod druge
bez praznih redova. Kao to i sami znate, Excel ne dozvoljava kopiranje ne-susjednih elija.
Zamislimo situaciju da iz neke tablice moramo kopirati vie elija (vrijednosti) negdje, bilo na istom Sheetu ili na
drugi Sheet.
Pomou Macroa iz priloga dovoljno je selektirati elije i kliknuti na button. Makronaredba e kopirati selektirane
elije na drugi Sheet "komada". Uoite na slici ispod da sam selektirao odreen broj elija koje nisu jedna do
druge tj. nisu susjedne. Kada bih u tom momentu iao na na klasino kopiranje u Excelu, Excel bi me upozorio da
nije mogue kopirati "multiple selected cells". No dovoljan je klik na button za pokretanje Macroa i selektirane
elije bit e kopirane na radni list "komada" jedan ispod drugog bez praznih redova (without blank row). Slijedee
novo selektiranje i opet klik na button Copy i Macro e kopirati u prvu praznu eliju stupca A selektirane elije i
tako redom.
Uoite na slici ispod kopirane vrijednosti sa Sheeta "baza". Ovdje elim napomenuti, da e se brojevi sloiti
redoslijedom kako ste selektirali. Dakle ako elite strogi niz redoslijeda brojeva tada selektirajte u nizu. Nakon
prvog kopiranja selektirajte druge elije i klik na button Copy, podaci e se kopirati u prvu praznu eliju bez
praznih redova itd itd...
4/18/2012 12:53 PM
How to copy multiple nonblank cells to another Sheet without blank row
2 of 7
Google oglasi
Microsoft Excel
http://www.ic.ims.hr/faq/office2007/excel2007/copy-selected-nonblanks-...
Excel
VBA Excel
Za uspjenu upotrebu ove radnje kopirajte Macro kod koji se nalazi ispod u Module vae radne knjige
(Workbook). Insertirajte Button sa kartice Developer i pridruite mu Macro "KopirajSelektirano"
Macro code za ovaj primjer kopiranja raspona elija (tablice) bez praznih redova na drugi Sheet glasi. Kopirajte
ga u Module vae Workbook.
Sub KopirajSelektirano()
'kopiranje selektiranih celija sa jednog Sheet
'na drugi Sheet u okomitom raspordu bez praznih redova
Dim X As Long 'deklariranje varijable "X"
Dim bza As Worksheet 'deklariranje varijable "bza" koja je vezana uz Sheet Baza
Dim kom As Worksheet 'deklariranje varijable "kom" koja je vezana uz Sheet Komada
Set bza = Worksheets("baza") 'Sheet odakle kopiramo
Set kom = Worksheets("komada") 'Sheet gdje kopiramo
bza.Select 'selektiran sheet baza tj. celije na njemu
X = kom.Cells(Rows.Count, 1).End(xlUp).Row + 1 'pronalazi prvi prazni red u stupcu A
Selection.Copy 'kopira selektirano
kom.Range("A" & X).PasteSpecial Paste:=xlValues, Operation:=xlNone, SkipBlanks:= _
False, Transpose:=False 'zalijepi (paste) u prvu praznu celiju stupca A (prvi red)
Application.CutCopyMode = False 'prekida odabir selektiranog
kom.Columns("A").EntireColumn.AutoFit 'poravna po najduzem podatku u stupcu A
bza.Select 'selektira Sheet baza
End Sub
Ovaj Macro code ispod radi istu radnju kao i ovaj iznad
Sub KopirajSelektiranoOkomito1()
'kopiranje selektiranih celija sa jednog Sheet
'na drugi Sheet u okomitom raspordu bez praznih redova
Dim X As Long 'deklariranje varijable "X"
4/18/2012 12:53 PM
How to copy multiple nonblank cells to another Sheet without blank row
3 of 7
http://www.ic.ims.hr/faq/office2007/excel2007/copy-selected-nonblanks-...
Na Sheetu2 uoite kopirane podatke nakon klika na button Copy. Nakon kopiranja prvih podataka unosimo druge
podatke i opet klik na button Copy. Ovi naknadni podaci kopirat e se u prvi prazan red ispod ve kopiranih i to
opet bez praznih redova (nonblank cells or rows)
Macro code za ovaj primjer kopiranja raspona elija (tablice) bez praznih redova na drugi Sheet glasi. Kopirajte
ga u Module vae Workbook.
Sub CopyWithNonBlanksRow()
Dim NR As Long
Dim InS As Worksheet
Dim OuS As Worksheet
Dim newRow As Integer
4/18/2012 12:53 PM
How to copy multiple nonblank cells to another Sheet without blank row
4 of 7
http://www.ic.ims.hr/faq/office2007/excel2007/copy-selected-nonblanks-...
4/18/2012 12:53 PM
How to copy multiple nonblank cells to another Sheet without blank row
5 of 7
http://www.ic.ims.hr/faq/office2007/excel2007/copy-selected-nonblanks-...
Macro code za ovaj primjer kopiranja raspona elija (tablice) bez praznih redova na drugi Sheet glasi. Kopirajte
ga u Module vae Workbook.
Sub KopirajNonBlankRow()
Dim Source As Range
Dim Dest As Range
Set Source = ActiveSheet.Range("B1:B20")
Set Dest = ActiveSheet.Range("E1")
CopyValuesWithoutBlank Source, Dest
End Sub
Sub CopyValuesWithoutBlank(rngSource As Range, clDest As Range)
' rngSource je kolona sa vrednostima koje se kopiraju
' Kopiraju se samo neprazne celije pocevsi od clDest
' autor JPeca
Dim cl As Variant
For Each cl In rngSource
If Len(cl.Text) > 0 Then 'je li blanko
clDest.Value = cl.Value
Set clDest = clDest.Offset(1) 'slijedeci red
End If
Next cl
End Sub
Na vama je jo da Kreirate button koji e pokrenuti Macro code
Kopiranje odreenog raspona na drugi sheet u istom formatu tablice
Ako elite kopirati neki raspon podataka na drugi Sheet u istom formatu tablice tada iskoristite VBA Macro code iz
ovog primjera.
Imamo podatke koje upisujemo za odreena imena. elimo da u istom formatu kopiramo raspone tablice (range)
na drugi Sheet2. Svako kopiranje treba dodati u novi red ispod ve postojeih podataka.
4/18/2012 12:53 PM
How to copy multiple nonblank cells to another Sheet without blank row
6 of 7
http://www.ic.ims.hr/faq/office2007/excel2007/copy-selected-nonblanks-...
Ovako izgledaju kopirani podaci. Slijedee kopiranje bit e dodano ispod u prvi prazan red
Macro code za ovaj primjer kopiranja raspona elija (tablice) bez praznih redova na drugi Sheet glasi. Kopirajte
ga u Module vae Workbook. Broj jedan (1) u sedmoj liniji koda odreuje prvi destinacijski stupac. Tako je broj 1
= A, 2 = B, 3 = C...
Sub KopirajUprvuPraznuCeliju()
Dim rNextCl As Range 'deklariranje varijable rNextCl
Range("A2:B10").Select 'range za kopiranje na Sheetu1 jer sa njega pokrecemo Macro
Selection.Copy 'kopira selektirani range
Sheets("Sheet2").Select 'pozicioniranje na Sheet2
Set rNextCl = Worksheets("Sheet2").Cells(Rows.Count, 1).End(xlUp).Offset(1, 0) 'pronalazi prvi prazan red na
destinaciji u stupcu A (broj 1) na Sheet2 uz pomak (offset) jednog reda
Worksheets("Sheet2").Activate 'aktiviranje Sheet2
rNextCl.Select 'pronalazi destinaciju
Selection.PasteSpecial Paste:=xlPasteValues, Operation:=xlNone, SkipBlanks _
:=True, Transpose:=False 'ljepljenje kopiranoga
Sheets("Sheet1").Select 'pozicioniranje na Sheet1
Application.CutCopyMode = False 'ukidanje selektiranog raspona
Range("B2").Select 'pozicionira se na eliju B2 na Sheet1
End Sub
Na vama je jo da Kreirate button koji e pokrenuti Macro code
Ovo je Macro kod koji odrauje isti posao kao i prethodni VBA Macro. Slovo A u kodu oznaava prvi stupac na
Sheetu2 u koji e se kopirati podaci iz raspona. Kao to znate (ako ne znate tada pogledajte tutorijal VBA
programiranje u Excelu, kod svojstva Offset(1, 0) prvi broj oznaava Row a drugi Column [Offset(Row,
Column)]. U ovom sluaju broj jedan (1) oznaava pomak (Offset) od jednog reda na Sheetu2 tj. prvi prazan
red.
Sub KopirajRangeUprviPrazanRed()
Worksheets("Sheet1").Range("A2:B10").Copy 'selektira i kopira zadati raspon podataka na Sheetu1
Worksheets("Sheet2").Cells(Rows.Count, "A").End(xlUp).Offset(1, 0).PasteSpecial Paste:=xlPasteValues
'pozicionira se u prvi prazan red na Sheetu2 u stupac A i lijepi podatke iz raspona
Sheets("Sheet1").Select 'pozicioniranje na Sheet1
Application.CutCopyMode = False 'ukidanje selektiranog raspona
Range("B2").Select 'pozicionira se na eliju B2 na Sheet1
End Sub
4/18/2012 12:53 PM
How to copy multiple nonblank cells to another Sheet without blank row
7 of 7
http://www.ic.ims.hr/faq/office2007/excel2007/copy-selected-nonblanks-...
Takoer pogledajte tutorijal: Kako kopirati vie izabranih (ne susjednih) elija na drugi Sheet u vodoravnom
rasporedu
Estetska kirurgija Arithera
Like
15k
4/18/2012 12:53 PM