Strona: [  << <   1   > >>  ]  z  1     
Autor Temat: sortowanie arkuszy w excelu
monia



Typ: neutral
Postów: 26
Zarejestrowany: Apr 2003
sortowanie arkuszy w excelu

no właśnie... jak posortować automatycznie arkusze w excelu ??
ma ktoś jakiś prosty kodzik ??


_____________________________________________
nic co ludzkie, nie jest mi obce

12-10-2003 16:53
Pokaż profil monia  Wyślij email do monia        4894458
anonim




Typ: Nie zarejestrowany

Witam.
Z tego co wiem to Excel nie oferuje automatycznego sortowania po nazwach arkuszy. Trzeba napisac makro. Jak na razie jeszcze go nie mam, może w wolnej chwili ale jak na razie proponuje takie makro, które pobiera nazwy i przesuwa arkusze na nowe pozycje. Procedure sortowania tablicy mozesz chyba znaleźć, w sieci.

Sub przesun()
Dim Arkusz As Variant
Dim x As Integer                ' zmienna dla petli for
Dim na_ark(1, 200) As String    ' Tablica nazw arkuszy
Dim nr_ark As Integer          ' ilosc arkuszy
  nr_ark = 1
 
  For Each Arkusz In Sheets    ' pobranie nazw arkuszy do tablicy
    na_ark(1, nr_ark) = Arkusz.Name
    nr_ark = nr_ark + 1
  Next
' tutaj wpisz procedure sortowania tablicy z nazwami arkusz - dane są typu String
    ' może być np. metoda q-sort

' dla przykładu zeszyt posiada trzy arkusze
' zamiana 1 arkusza z 2, poprzez zmienną tymczasową tablicy na 10 miejscu

na_ark(1, 10) = na_ark(1, 1)  ' zapamietaj nazwe 1 arkusza
na_ark(1, 1) = na_ark(1, 2)    ' nazwa 1 ark. taka jak 2
na_ark(1, 2) = na_ark(1, 10)    ' nazwa 2 ark. taka jak 1

'
' Koniec Procedury sortowania

' przesunięcie arkuszy zgodnie z już "posortowaną" zawartościa tablica nazw
For x = 1 To nr_ark - 1
Sheets(na_ark(1, x)).Select
Sheets(na_ark(1, x)).Move Before:=Sheets(x)
Next x

End Sub

Pozdrawiam S95
-------------------------------------------------
Wszystko jest proste, do czasu jak nie zaczniesz programować
------------------------------------------------
PS. Poradziłaś sobie z liczbami na tekst?

14-10-2003 11:54
  
Wszystkich odpowiedzi: 1 :: Maxymalnie na stronę: 20
Strona: [  << <   1   > >>  ]  z  1