logotip web stranice ic.ims.hr
Home - počtna stranica  FORUM ACCESS 2003 EXCEL 2003 WORD 2003  
1 Pokretanje i zatvaranje Microsoft Excel-a 2013
2 Izgled prozora Microsoft Excela 2013
3 Alatne trake u MS Excelu 2013
4 Podešavanje Excela
5 Otvaranje nove radne knjige i radnog lista
6 Spremanje i zatvaranje Workbook u Excelu
7 Pregled radnog lista prije ispisa u Excelu 2013
8 Određivanje margina Radnog lista
9 Kreiranje Zaglavlja i Podnožja Radnog lista
10 Ispis radnog lista ili tablice ili područja u Excelu 2013
11 Kreiranje mapa u Excelu
12 Kretanje radnom tablicom u Excelu 2013
13 Označavanje ili selektiranje u Excelu
14 Operatori u Excelu
15 Kreiranje formule u Excelu
16 Uvjetno oblikovanje u Excelu 2013
17 Kako izraditi padajuću listu u Excelu - Data Validation
18 Imenovanje ćelija ili raspona podataka u excelu 2013
19 Poravnanje teksta
20 Promjena podataka i brisanje sadržaja ćelije u Excelu 2013
21 Spajanje i dijeljenje ćelija u Excelu 2013
22 Automatska ispuna - brzi unos podataka
23 Popunjavanje ćelija specijalnim znakovima i simbolima
24 Crtanje u Excelu 2013
25 Dodavanje komentara na ćelije u Excelu 2013
26 Naredbe poništi i ponovi u excelu 2013
27 Premještanje, izrezivanje i kopiranje sadržaja ćelije u Excelu 2013
28 Umetanje i brisanje Ćelija, Stupaca i Redova
29 Promjena veličine Ćelija, Stupaca i Redova u Excelu 2013
30 Umetanje slika u Excelu
31 Radnje vezane uz Radni List u Excelu 2013
32 Apsolutna i relativna adresa ćelija u Excelu
33 Izrada Grafikona u Excelu 2013
34 Oblikovanje radnih tablica u Excelu 2013
35 Sortiranje podataka u Excelu 2013
36 Filtriranje podataka u Excelu 2013
37 Kreiranje Pivot Table
38 Zamrzavanje dijela prozora radnog lista u Excelu 2013
39 Oblikovanje Datuma u Excelu 2013
40 Zaključavanje ćelija i radnog lista u Excelu 2013
41 Zaštita radne knjige u Excelu 2013
42 Greške u Excelu 2013
43 Popis svih funkcija u Excelu 2013
44 Tipkovni prečaci u Excelu (hot key, shortcut)
45 Ograničenja u Excelu 2013
46 Makronaredbe u Excelu
47 Razni primjeri u Excelu
   
1 Excel 2003 primjeri
1 Excel 2007 primjeri
1 VBA U EXCELU
   
 

MICROSOFT EXCEL 2013 tutoriali - Kako u jednom koraku kreirati višestruke radne listove sa popisa. Insertiranje novog radnog lista pod uvjetom za imenovanje. Dodavanje novih radnih listova čija imena se nalaze na popisu u ćelijama.

Kako odjednom dodati više radnih listova sa popisa




sponzor



Dodavanje više radnih listova u jednom potezu

Ovaj Excel tutorijal sadrži kolekciju VBA makronaredbi za višestruko kreiranje novih radnih listova u jednom koraku. Da bi ste mogli korisiti VBA makronaredbe, potrebno je osnovno poznavanje rada u VBE (Visual Basic Editor for Excel).
O VBA makronaredbama pisao sam u tutorijalu na ovom linku VBA programiranje u Excelu.

U određenim situacijama prilikom rada u Excelu, vjerujem da ste imali situaciju da morate kreirati višestruke radne listove s određenim nazivima za svaki radni list. Naravno ideja je da svaki radni list ima različito ime. U ovom Excel tutorijalu prikazati ću kako možete koristeći VBA makronaredbe, u jednom potezu izraditi više radnih listova a čija imena se nalaze na popisu u 'A' stupcu (vidi sliku ispod).

Izrada višestrukih radnih listova u jednom koraku

Na slici iznad, uočite da sam popis svih radnih listova koje želim izraditi postavio u 'A' stupac. Također kreirao sam VBA buttone za sve tri VBA makronaredbe koje su prikazane u ovom tutorijalu.

VBA makronaredba ispod kreira više radnih listova i nakon završetka u prvi plan postavlja aktivan radni list 'master'. Master radni list je onaj radni list na kojem se nalaze VBA buttoni. VBA makronaredba će ignorirati kreiranje novog radnog lista ako već postoji radni list istog imena kao i na popisu.

Sub CreateNewSheetsFromList1()
'make new sheets from list and select master sheet
Dim c As Range
Dim strN As String

On Error GoTo CreateSheet
With Worksheets("Sheet1")
'for limit list from down to up find first non-empty cell in A column
For Each c In .Range(.Range("A1"), .Cells(.Rows.Count, "A").End(xlUp))
If c.Value <> "" Then strN = Worksheets(c.Value).Name
Next c
.Activate 'activate master sheet
.Range("A1").Select
End With
Exit Sub

CreateSheet:
Worksheets.Add(after:=Worksheets(Worksheets.Count)).Name = c.Value
Resume
End Sub

Kreiranje višestrukih Sheets u jednom koraku i imenovanje novih radnih listova iz popisa naziva

VBA kod makronaredbe sa iz ovog Excel tutorijala možete kopirati u vašu Excel Workbook i provjeriti kako funkcionira višestruko dodavanje novih radnih listova u jednom koraku. Na slici ispod možete vidjeti VBE prozor u kojem trebate insertirati novi Module i u njega kopirati VBA makronaredbe sa ove web stranice.

postavljanje VBA koda u prozor VBE

Druga VBA makronaredba je slična prethodnoj. Razlika je u tome što će nakon izvršavanja VBA makronaredbe u prvi plan biti aktivan zadnji radni list sa popisa u 'A' stupcu.

Sub CreateNewSheetsFromList2()
'make new sheets from list and select last created sheet
Dim c As Range
Dim strN As String

On Error GoTo CreateSheet
With Worksheets("Sheet1")
For Each c In .Range(.Range("A1"), .Cells(.Rows.Count, "A").End(xlUp))
If c.Value <> "" Then strN = Worksheets(c.Value).Name
Next c
End With
Exit Sub

CreateSheet:
Worksheets.Add(after:=Worksheets(Worksheets.Count)).Name = c.Value
Resume
End Sub


Insert novog radnog lista sa uvjetom ili ulaznom porukom za naziv radnog lista

Treća VBA makronaredba kreira jedan radni list i ne koristi popis. Prilikom pokretanja VBA makronaredbe pojavit će vam se skočni prozor ili ulazna poruka u kojoj u predviđeno polje za upis, vi trebate upisati naziv radnog lista koji želite kreirati. Nakon kreiranja novog radnog lista Excel će automatski biti pozicioniran u novokreiranom radnom listu.

Sub CreateNewSheetsFromList3()
'make new sheet and give new sheet name
Dim ActNm As String
With ActiveWorkbook.Sheets
.Add after:=Worksheets(Worksheets.Count)
End With
ActNm = ActiveSheet.Name
On Error Resume Next
ActiveSheet.Name = "Sheet1" 'master sheet
NoName: If Err.Number = 1004 Then ActiveSheet.Name = InputBox("Give name.")
If ActiveSheet.Name = ActNm Then GoTo NoName
On Error GoTo 0
End Sub

Kopiranje radnog lista i kreiranje višestrukih listova sa popisa

Ako želite kreirati višestruke radne listova na način da kopiranjem određenog radnog lista izradite više novih radnih listova imenovanih nazivima iz popisa u 'A' stupcu, tada iskoristite ovu VBA makronaredbu ispod. Petlja While/Wend, izvršavat će se sve dok ne naiđe na prazan red u popisu naziva.

Option Explicit
Sub CopyAndInsertSheetFromList()
Dim row As Integer
Dim newname As String
Sheets("Sheet1").Select
row = 1
newname = Sheets("Sheet1").Cells(row, 1).Value
While newname <> "" 'loop start
MsgBox row & " " & newname
Sheets(row + 1).Select
Sheets(row + 1).Copy After:=Sheets(row + 1)
ActiveWorkbook.Sheets(row + 2).Name = newname
row = row + 1
newname = Sheets("Sheet1").Cells(row, 1).Value
Wend 'loop end
End Sub

Kopiranje određenog radnog lista za sve dane u mjesecu (31 puta)

Kreiranje višestruke kopije predloška određenog radnog lista možete iskoristiti i za datume u mjesecu gdje će svaki novi radni list biti imenovan brojem dana. Ako radite kalkulacije za mjesečne periode ili svaki dan u mjesecu tada možete izraditi predložak za jedan dan (prvi dan u mjesecu) i koristeći VBA makronaredbu ispod, predložak kopirati 31 puta i tako kreirati u jednom potezu 31 radni list u mjesecu sa već pripremljenim podacima na radnom listu koji vam služe kao template.

kreiranje radnih listova za datume u mjesecu odjednom koristeći VBA

Option Explicit
Sub CopySheetToMultipleSheets()
' Višestruko kopiranje radnog lista koji je imenovan brojem 1 u 31 primjerak
Dim sh As Integer
Application.ScreenUpdating = False
For sh = 2 To 31 ' broj 31 označava koliko će biti kopija
Sheets("1").Copy After:=Sheets(sh) 'Kopiramo radni list imenovan kao broj 1
Sheets(sh + 1).Name = Str(sh) 'svaka nova kopija uvećava broj za 1
Next sh 'slijedeća kopija u petlji
Application.ScreenUpdating = False
End Sub

Kreiranje novih radnih listova bazirano na popisu u određenom rasponu ćelija

Slijedeće VBA makronaredbe kreirati će nove radne listove iz popisa u rasponu ćelija počevši nazivom radnog lista u 'C5' ćeliji. Uočite da je osnovni radni list imenovan nazivom "Master". Na ovom radnom listu nalazi se popis naziva kojima će biti imenovani novokreirani radni listovi. Na njemu možete smjestiti VBA buttone za pokretanje VBA makronaredbi.

Izrada radnih listova s nazivima koji se nalaze na popisu

Ova VBA makronaredba ispod ima unaprijed ugrađen određeni raspon ćelija u kojem se nalazi popis naziva novih radnih listova.

Sub AddWorksheetsfromList1()
'specified range
Dim cell As Excel.Range
Dim wsWithSheetNames As Excel.Worksheet
Dim wbToAddSheetsTo As Excel.Workbook
Application.ScreenUpdating = False
Set wsWithSheetNames = ActiveSheet
Set wbToAddSheetsTo = ActiveWorkbook
For Each cell In wsWithSheetNames.Range("C5:C9") 'specific range list names of sheets which will be create
With wbToAddSheetsTo
.Sheets.Add After:=.Sheets(.Sheets.Count)
On Error Resume Next
ActiveSheet.Name = cell.Value
If Err.Number = 1004 Then
Debug.Print cell.Value & " already used as a sheet name"
End If
On Error GoTo 0
End With
Next cell
Sheets("Master").Activate
Application.ScreenUpdating = True
Application.DisplayAlerts = True
End Sub

Da bi kreirali radne listove sa popisa koristeći ovu VBA makronaredbu ispod, prije pokretanja VBA procedure potrebno je selektirati ispravan raspon ćelija u kojem se nalazi popis imena radnih listova. Dakle od prve do zadnje ćelije koja sadrži naziv radnog lista.

Sub AddWorksheetsfromList2()
'select list range before running VBA procedure
Dim cell As Excel.Range
Dim wbToAddSheetsTo As Excel.Workbook
Application.ScreenUpdating = False
Set wbToAddSheetsTo = ActiveWorkbook
For Each cell In Selection
With wbToAddSheetsTo
.Sheets.Add After:=.Sheets(.Sheets.Count)
On Error Resume Next
ActiveSheet.Name = cell.Value
If Err.Number = 1004 Then
Debug.Print cell.Value & " already used as a sheet name"
End If
On Error GoTo 0
End With
Next cell
Sheets("Master").Activate
Application.ScreenUpdating = True
Application.DisplayAlerts = True
End Sub

Ova VBA makronaredba ispod kreira nove radne listove iz popisa koji sadrži nazive radnih listova počevši u 'C5' ćeliji. VBA makronaredba ispod koristi petlju For/Next da bi pronašla zadnji popunjeni red u kojem se nalazi popis naziva.

Sub AddWorksheetsfromList3()
'This VBA macro will create separate Sheet tabs based on a list in Master Sheet in C5 and down
Dim MyCell As Range, MyRange As Range
Set MyRange = Sheets("Master").Range("C5")
Set MyRange = Range(MyRange, MyRange.End(xlDown))
Application.Calculation = xlCalculationManual
Application.ScreenUpdating = False
Application.DisplayAlerts = False
For Each MyCell In MyRange
Sheets.Add After:=Sheets(Sheets.Count) 'create a new worksheet
Sheets(Sheets.Count).Name = MyCell.Value 'rename the new worksheet based on list
Next MyCell
Sheets("Master").Activate
Application.Calculation = xlCalculationAutomatic
Application.ScreenUpdating = True
Application.DisplayAlerts = True
End Sub

Kopiranje radnog lista "Template" i kreiranje novog radnog lista te automatsko postavljanje imena sa današnjim datumom

Ako imate potrebu često kreirati novi radni list koji treba biti identična kopija predloška a definirano ime novokreiranog radnog lista treba biti današnji datum, tada iskoristite VBA makronaredbu ispod. Radni list 'Template' sadrži organizaciju podataka koju koristimo svakodnevno. Radni list 'Master' je početni list naše radne knjige na kojem pokrećemo VBA makronaredbu. Nakon pokretanja VBA makronaredbe, Excel će duplicirati radni list 'Template' i postaviti novo ime sa današnjim datumom. U slučaju da već postoji radni list sa današnjim datumom, Excel će jednostavno kopirati radni list 'Template' i dodati mu broj.

Automatsko dodavanje novog radnog lista u radnu knjigu i imenovanje sa današnjim datumom

Sub CreateNewTabSheetNameWithTodayDate()
' Create New Sheet tab with current date
On Error Resume Next
Sheets("Template").Copy After:=Sheets("Master")
ActiveSheet.Name = Format(Date, "dd.mm.yy")
'ActiveSheet.Name = Format(Date, "dd.mmm.yy") 'another format
'ActiveSheet.Name = Format(Date, "dd.mm.yyyy")
'another format
On Error GoTo 0
End Sub

I na kraju u prilogu ovog tutorijala imate mogućnost Download datoteka na kojima sam radio ovaj tutorijal. Da bi koristili VBA makronaredbe iz ovog tutorijala, potrebno je da u primjere datoteka koje skinete na svoje računalo, kopirate VBA makro sa ove web stranice u VBE vašeg Excela.




     

sponzor



COPYRIGHT © - 2005 - 2020 IvanC - Sva prava pridržana - Ova web domena/web stranica koristi cookies.
Prema međunarodnom zakonu o autorskom djelu zabranjeno je kopiranje, reproduciranje, prosljeđivanje i publiciranje cijelog sadržaja ili bilo kojeg njegova dijela