Microsoft Office Excel
uređuje Dragan Grbić

 Office Praktikum | Mapa sajta 

 
Bookmark and Share
Matična strana sajta
Novo na sajtu
Mapa sajta
Beleške
Knjiga posetilaca
Kontakt

Prethodna stranica
Pretraga sajta
Pretraga MSKB

Blog Praktikuma
RSS feed 
 
Office Praktikum

Još o Excelu
 


Skoro svakodnevno slušamo
  Radio Paradise:
  eklektični muzički online radio bez reklama!
 

   

Sponzori sajta

  Connectivity by SBB
 
Connectivity by SBB

 

Informacije

NOVOSTI
Novi prilog o Wordu
Tri nova autorska članka
Četiri priloga o Accessu
Opis i uputstvo za alatku YuCirLat '08 (Word)

SADRŽAJ ZA PREUZIMANJE
YuCirLat '08 unapređena alatka za konverziju kodnih rasporeda u Wordu

SKREĆEMO PAŽNJU
Beleške: B(l)oga li ti tvoga!- prilog koji će nekog možda čak i da naljuti
Kako pretraživati MSKB
* a pronaći ćete i još mnogo novih sadržaja...

USKORO SERIJA ČLANAKA O OFFICEU 2010

POZIVAMO VAS
* i prenesite svoja iskustva. Najbolji prilozi će biti objavljeni.



  (C) 2000-2009 Praktikum na Webu
 

Sortiranje radnih listova

Nivo:  NIVO 3 - klinite za objašnjenje


Algoritmi sortiranja su među osnovnim u teoriji programiranja. Ali, pustimo teoriju: evo i praktične namene.

Ako se broj listova u radnoj svesci često menja, možda će vam se ukazati potreba da ih povremeno sortirate. U prilogu se nalazi jednostavan makro koji će taj posao uraditi umesto vas. Ova varijanta ignoriše da li su slova u imenu lista velika ili mala; u komentaru postoji red kojim treba zameniti postojeći da bi se sortiranje izvelo po ASCII redosledu.

' verzija makroa koja
' ignoriše velika i mala slova
Sub SortListova1()

Dim I As Integer, J As Integer

For I = 1 To Sheets.Count - 1
  For J = I + 1 To Sheets.Count
    If UCase(Sheets(I).Name) > UCase(Sheets(J).Name) Then
       Sheets(J).Move Before:=Sheets(I)
    End If
  Next J
Next I

End Sub



' verzija makroa koja 
' razlikuje velika i mala slova
Sub SortListova2()

Dim I As Integer, J As Integer

For I = 1 To Sheets.Count - 1
  For J = I + 1 To Sheets.Count
    If Sheets(I).Name > Sheets(J).Name Then
       Sheets(J).Move Before:=Sheets(I)
    End If
  Next J
Next I

End Sub

Ovaj algoritam sortiranja je krajnje prost: svaki poznavalac programiranja će prepoznati da je neefikasan na većem broju elemenata. Testirao sam ovaj makro na izmešanoj radnoj svesci "teškoj" oko 70 listova na starijoj Pentium mašini na 75 MHz i sortiranje je trajalo desetak sekundi. Ako baš terate mak na konac, postoji nekoliko načina da se sortiranje ubrza: najpre, treba isključiti osvežavanje ekrana posle svakog koraka:

Sub SortListova2()

Dim I As Integer, J As Integer

' isključi osvežavanje ekrana
Application.ScreenUpdating = False

For I = 1 To Sheets.Count - 1
  For J = I + 1 To Sheets.Count
    If Sheets(I).Name > Sheets(J).Name Then
       Sheets(J).Move Before:=Sheets(I)
    End If
  Next J
Next I

' sad uključi osvežavanje ekrana
Application.ScreenUpdating = True

End Sub

Ako se koriste napredniji algoritmi, kao što su QuickSort ili BubbleSort, najbolje je u memoriji formirati niz povezan sa imenima radnih listova, njega sortirati, a potom razvrstati listove prema rezultatu.

 

  (C) 2000-2009 Praktikum na Webu

PC 46


 
 

Vrh stranice  Prethodna stranica  Naslovna strana  Mapa sajta  Pretraga

AFORIZAM ZA DANAS OVIH DANA SLUŠAMO...

Copyright © Praktikum na Webu, 2000-2009; Valinor Design; sva prava pridržana.