Predstavljajte si, da imate veliko število vrstic s podatki.
Iz te tabele želite skopirati vsako 5. vrstico in jo prilepiti na nov list. Ročno delo – zelo zamudno. Delo nam lahko opravi tudi Excel.
|
|||||
![]() |
|||||
|
|||||
![]()
Kliknite Alt+F11, da odprete VBA. Sedaj kliknite na majhno črno puščico in nato na Module.
|
|||||
|
|||||
![]()
Sedaj prilepite spodnjo kodo:
Sub KopirajVrstice() Dim i, j, prviStolpec, vrstica, trenutniList j = 1 trenutniList = ActiveSheet.Index vrstica = 5 ' Faktor kopiranja i = 1 ' Začetek kopiranja prviStolpec = 1 ' Prvi stolpec, ki vsebuje podatke Sheets.Add after:=Sheets(Sheets.count) ' Dodajanje novega lista ActiveSheet.Name = "Kopirano" ' Preimenovanje novega lista Sheets(trenutniList).Select Do Until Cells(i, prviStolpec).Value = "" Rows(i & ":" & i).Select Selection.Copy ' Kopiranje vrstice Sheets(Sheets.count).Select Rows(j & ":" & j).Select ActiveSheet.Paste ' Lepljenje vrstice Sheets(trenutniList).Select i = i + vrstica j = j + 1 Loop MsgBox "Uspešno kopiranih " & j - 1 & " vrstic" End Sub |
|||||
|
|||||
![]()
Koda morda zgleda malce bolj zapleteno, poskusil jo bom razložiti na enostaven način. Če želite podrobno pojasnilo, prosite na forumu.
Prilepljeno kodo si lahko povsem prilagodite vašim potrebam. Prva številka, ki jo lahko spremenite je, katere vrstice naj Excel kopira. V moji kodi je številka 5, kar pomeni, da bo Excel kopiral vsako peto vrstico. Če vpišete številko 1, bo skopiral vse vrstice, če vpišete številko 2, bo skopiral vsako drugo vrstico in tako naprej. Naslednjo spremenljivko sem poimenoval i. Tukaj nastavite, od katere vrstice naj začne Excel kopirati. Če pustite številko 1, pomeni, da bo Excel začel kopirati pri prvi vrstici na listu. Če vpišete številko 10, bo začel kopirati šele od desete vrstice naprej. Tretja spremenljivka Excelu pove, kje se nahajajo vaši podatki. Excel namreč v kodi preveri, ali je že prišel do konca vaših podatkov, za kar pa potrebuje številko stolpca, v katerem se nahajajo podatki. V mojem primeru se podatki začno že v prvem stolpcu, zato je zapisana številka 1 ...
|
|||||
|
|
|||||
![]()
... če bi se vaši podatki začeli šele v npr. stolpcu F in šele v 4 vrstici, bi vnesli naslednje podatke:
i = 4 vrstica = 6 F je šesti stolpec po vrsti :)
|
|||||
|
|||||
![]()
Ko končate s prilagajanjem makra, kliknite na zeleno puščico zgoraj in držite pesti ...
|
|||||
|
|||||
![]()
... da vam Excel uspešno kopira vaše podatke ...
|
|||||
|
|||||
![]()
... na nov list.
|
|||||
|
|||||
![]()
Uspelo! V mojem zadnjem stolpcu so bile zaporedne številke.
Kot lahko vidite tukaj, je Excel zares kopiral vsako peto vrstico :) |
|||||