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

Makro naredba za više listova

[es] :: Office :: Excel :: Makro naredba za više listova

[ Pregleda: 1805 | Odgovora: 4 ] > FB > Twit

Postavi temu Odgovori

Autor

Pretraga teme: Traži
Markiranje Štampanje RSS

arthichoka
zagreb

Član broj: 34923
Poruke: 22
*.dynamic.amis.hr.



Profil

icon Makro naredba za više listova22.08.2012. u 20:54 - pre 142 meseci
Kako da napišem makro naredbu koja bi radila na trenutno otvorenom listu. Listova ima 30. Ikona za makro naredbu postavljena je na vrh stranice u brzi izbornik.To je opcija za ručno sortiranje bez puno muke. Koristim excel 2010.
Ispod je primjer za prvi list, a treba ih za 30.


Sub Makronaredba2()
'
' Makronaredba2 Makronaredba
'
' Tipkovni prečac: Ctrl+m
'
Range("B7:H30").Select
ActiveWorkbook.Worksheets("1").Sort.SortFields.Clear
ActiveWorkbook.Worksheets("1").Sort.SortFields.Add Key:=Range("F7:F30"), _
SortOn:=xlSortOnValues, Order:=xlAscending, DataOption:=xlSortNormal
With ActiveWorkbook.Worksheets("1").Sort
.SetRange Range("B7:H30")
.Header = xlGuess
.MatchCase = False
.Orientation = xlTopToBottom
.SortMethod = xlPinYin
.Apply
End With
Range("I7").Select
End Sub
 
Odgovor na temu

pera68
Bačka Palanka

Član broj: 98559
Poruke: 121
*.scansafe.net.



+9 Profil

icon Re: Makro naredba za više listova23.08.2012. u 07:39 - pre 142 meseci
Nisam najbolje shvatio post ali ukoliko mislis da naredbu koju si kreirao da radi na vise listova pokusaj sa dole navedenim programskim kodom. Izmeni i adresu prema folderu u kom se nalaze tvoji dokumenti

Sub listovi()
Dim FSO As Object, Folder As Object, file As Object
Dim dokument As Workbook
Dim list As Worksheet
Set FSO = CreateObject("Scripting.FileSystemObject")
Set Folder = FSO.GetFolder("C:\Proba")
For Each file In Folder.Files
If LCase(Right(file.Name, 4)) = ".xlsx" Then
Set dokument = Workbooks.Open("C:\Proba\" & file.Name)
For Each list In dokument.Sheets
' programski kod za odredjenu akciju
Next list
dokument.Close True
End If
Next file
MsgBox "Gotovo"
End Sub
 
Odgovor na temu

arthichoka
zagreb

Član broj: 34923
Poruke: 22
*.dynamic.amis.hr.



Profil

icon Re: Makro naredba za više listova23.08.2012. u 22:32 - pre 142 meseci
Da pojednostavim. Kako da skratim makronaredbu da ne pišem 30 istih, ovo mi je primjer za prva dva lista. Pitanje je kako bi glasila naredba za 30 listova? I da imam istu oznaku za sve listove.(Tipkovni prečac) npr. Ctrl+n za sve listove

Sub sortiranje1()
'
' sortiranje1 Makronaredba
'
' Tipkovni prečac: Ctrl+n
'
Range("B7:H30").Select
ActiveWorkbook.Worksheets("1").Sort.SortFields.Clear
ActiveWorkbook.Worksheets("1").Sort.SortFields.Add Key:=Range("F7:F30"), _
SortOn:=xlSortOnValues, Order:=xlAscending, DataOption:=xlSortNormal
With ActiveWorkbook.Worksheets("1").Sort
.SetRange Range("B7:H30")
.Header = xlGuess
.MatchCase = False
.Orientation = xlTopToBottom
.SortMethod = xlPinYin
.Apply
End With
Range("I7").Select
End Sub
Sub sortiranje2()
'
' sortiranje Makronaredba
'
' Tipkovni prečac: Ctrl+n
'
Range("B7:H30").Select
ActiveWorkbook.Worksheets("2").Sort.SortFields.Clear
ActiveWorkbook.Worksheets("2").Sort.SortFields.Add Key:=Range("F7:F30"), _
SortOn:=xlSortOnValues, Order:=xlAscending, DataOption:=xlSortNormal
With ActiveWorkbook.Worksheets("2").Sort
.SetRange Range("B7:H30")
.Header = xlGuess
.MatchCase = False
.Orientation = xlTopToBottom
.SortMethod = xlPinYin
.Apply
End With
Range("I7").Select
End Sub

[Ovu poruku je menjao arthichoka dana 23.08.2012. u 23:46 GMT+1]

[Ovu poruku je menjao arthichoka dana 23.08.2012. u 23:47 GMT+1]
 
Odgovor na temu

pera68
Bačka Palanka

Član broj: 98559
Poruke: 121
*.scansafe.net.



+9 Profil

icon Re: Makro naredba za više listova24.08.2012. u 06:40 - pre 142 meseci
Ukoliko želiš da program radi samo na jednom listu tada je potrebno da na početku programskog koda ubaciš sledeće redove:

Dim poruka
Dim list as Integer
poruka = "Unesite broj lista:"
list = InputBox (poruka)
Worksheets(list).Activate


Ukoiko želiš da program radi na svim listovima onda upotrebi kod kojeg sam napisao u prethodnom postu s napomenom da na početku tvog koda ubaciš red:

Worksheets(list).Activate
 
Odgovor na temu

arthichoka
zagreb

Član broj: 34923
Poruke: 22
*.dynamic.amis.hr.



Profil

icon Re: Makro naredba za više listova24.08.2012. u 18:47 - pre 142 meseci
Citat:
arthichoka:
Kako da napišem makro naredbu koja bi radila na trenutno otvorenom listu. Listova ima 30. Ikona za makro naredbu postavljena je na vrh stranice u brzi izbornik.To je opcija za ručno sortiranje bez puno muke. Koristim excel 2010.
Ispod je primjer za prvi list, a treba ih za 30.


Sub Makronaredba2()
'
' Makronaredba2 Makronaredba
'
' Tipkovni prečac: Ctrl+m
'
Range("B7:H30").Select
ActiveWorkbook.Worksheets("1").Sort.SortFields.Clear
ActiveWorkbook.Worksheets("1").Sort.SortFields.Add Key:=Range("F7:F30"), _
SortOn:=xlSortOnValues, Order:=xlAscending, DataOption:=xlSortNormal
With ActiveWorkbook.Worksheets("1").Sort
.SetRange Range("B7:H30")
.Header = xlGuess
.MatchCase = False
.Orientation = xlTopToBottom
.SortMethod = xlPinYin
.Apply
End With
Range("I7").Select
End Sub



Riješio problem: Worksheets("1") zamijenio sa ActiveSheet i makro naredba radi samo na aktivnom listu.
 
Odgovor na temu

[es] :: Office :: Excel :: Makro naredba za više listova

[ Pregleda: 1805 | Odgovora: 4 ] > FB > Twit

Postavi temu Odgovori

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