[ TbojšaN @ 04.10.2007. 22:19 ] @
Pozdrav Excel majstorima,
postoji li nacin (mislim na VBA) da se nazivi radnih listova (otvorenih i onih koji ce se tek otvoriti ) automatski pojavljuju na jednom radnom listu slozeni po abecedi u koloni A , a u koloni B da budu ispisani podaci iz celije F2 za svaki radni list?

Hvala,
[ Marko_L @ 04.10.2007. 23:08 ] @
Možda ovako nešto. Prvo se izvuku potrebni podaci, a onda se odradi sortiranje kompletne A i B kolone...
Code:
Public Sub MojMakro()
Dim brojac As Long
brojac = 0
    
    For Each Sheet In Workbooks(1).Worksheets
        If Not Sheet.Name = "spisak" Then
        brojac = brojac + 1
        Worksheets("spisak").Cells(brojac, 1).Value = Sheet.Name
        Worksheets("spisak").Cells(brojac, 2).Value = Sheet.Cells(2, 6).Value
        End If
    Next Sheet

Worksheets("spisak").Columns("A:B").Select
Selection.Sort Key1:=Range("A1"), Order1:=xlAscending, Header:=xlGuess, _
        OrderCustom:=1, MatchCase:=False, Orientation:=xlTopToBottom, _
        DataOption1:=xlSortNormal
End Sub
[ TbojšaN @ 05.10.2007. 14:48 ] @
Hvala Marko_L.
[ TbojšaN @ 23.10.2007. 17:50 ] @
Makro mi radi na kućnom računaru a na poslu ne!
U polju A1 ispiše samo sheet1
Kako da rešim taj problem?
Neki radni listovi su zaključani ,mozda je to bitno..
[ Jpeca @ 24.10.2007. 09:53 ] @
Ako koristiš VBA često ćeš biti u prilici da se pitaš zašto se neki program ne izvršava ili dalje neočekivane rezultate. Koristeći alat za debagovanje u VB Editoru laše ćeš pronaći greške.
Ideja je da određenu liniju koda koju znaš da se izvšrava (pre otkaza) označiš kao Break point. Tokom izvršavanja program će da se zaustavi pre te tačke.
Onda možeš da ispitaš sadržaj promenljivih, ćelija ... u prozoru Immediate. Jednostavno otkucaš u ovom prozoru ?brojac, gde je brojac varijabla čiju vrednost želiš da proveriš.

Nakon Break Pointa program možeš da izvršavaš linuju po liniju (F8), uz proveru određenih varijabli, sadržaja ćelija itd.

Detaljnije http://www.cpearson.com/excel/Debug.htm.

U tvom slučaju ako pogledaš u debug režimu, kao što sam opisao verovatno ćeš naći da se petlja izvršava samo jednom. Onda pogledaj u Immediate Window
?Workbooks(1).Name
i verovatno ćeš dobiti odgovor - makro gleda pogrešnu radnu svesku. Umesto Workbooks(1) stavi ThisWorkbook. Ako i nije u tome problem verujem da ćeš koristeći debuger naći rešenje.
[ TbojšaN @ 24.10.2007. 14:51 ] @
Vrlo iscrpan odgovor!
Hvala Jpeca, excel tek proučavam..
[ TbojšaN @ 18.12.2007. 20:57 ] @
Da li moze ,ako u sheet1 u koloni A upisem nazive radnih listova (nezna se koliko će ih biti)da se uz pomoć makroa otvore novi radni listovi i da im se dodeli ime sa spiska u sheet1 u koloni A( koji će se kasnije dopunjavati)a kao kopija da se koristi sheet2?
[ Brz_na_tastaturi @ 21.12.2007. 00:20 ] @
Ako sam razumeo šta hoćeš da dobije onda bi moglo ovako

Code:


Sub UbaciListove()

Dim red As Integer
Dim ime As String

    Sheets("spisak").Select
red = 1
ime = Sheets("spisak").Cells(red, 1).Value

While ime <> ""
    MsgBox red & " " & ime
    Sheets(red + 1).Select
    Sheets(red + 1).Copy After:=Sheets(red + 1)
    ActiveWorkbook.Sheets(red + 2).Name = ime
    red = red + 1
    ime = Sheets("spisak").Cells(red, 1).Value
Wend

End Sub
[ TbojšaN @ 21.12.2007. 06:00 ] @
Hvala Brz_na_tastaturi,
Ovo mi je baš trebalo! Još jednom hvala!!!
[ Sudarica @ 30.01.2010. 15:29 ] @
zahvaljujem Marko_I na makro naredbi i meni to treba.



Code:

Public Sub MojMakro()
Dim brojac As Long
brojac = 0
    
    For Each Sheet In Workbooks(1).Worksheets
        If Not Sheet.Name = "spisak" Then
        brojac = brojac + 1
        Worksheets("spisak").Cells(brojac, 1).Value = Sheet.Name
        Worksheets("spisak").Cells(brojac, 2).Value = Sheet.Cells(2, 6).Value
        End If
    Next Sheet

Worksheets("spisak").Columns("A:B").Select
Selection.Sort Key1:=Range("A1"), Order1:=xlAscending, Header:=xlGuess, _
        OrderCustom:=1, MatchCase:=False, Orientation:=xlTopToBottom, _
        DataOption1:=xlSortNormal
End Sub
[/quote]

Bilo bi dobro još dodati

1. Hiperlink na popis radnih listova tako da me odvede na radni list koji mi treba.
2. Pomoću forme pretraživati sheet npr. ukucam ime i prezime osobe koja mi treba, pronađe ga i otvori taj sheet.
Dali mi može neko još dodati ovou u naredbu
Zahvaljujem

[Ovu poruku je menjao Sudarica dana 30.01.2010. u 17:31 GMT+1]

[Ovu poruku je menjao Sudarica dana 30.01.2010. u 17:32 GMT+1]