vbamania.pl
login:
hasło:
 
  *Rejestracja *Zapomniane hasło
 Dziś jest piątek, 25 kwietnia 2025 roku.
Ustaw jako stronę startową Ulubione Napisz
PowrótPowrót do serwisu  RegulaminRegulamin rssRSS

  tytuł wątku:
Wątki dyskusji

excel sortowanie za pomocą VBA wielu arkuszy


otwartyotwarty rozpoczął: pawik postów: 2



napisał: markos97
postów: 114


umieszczony:
9 czerwca 2009
18:54

  
Witam!
Co do punktu drugiego, może tak:
Sub filter() 'http://www.ozgrid.com/forum/showthread.php?t=39623
Dim SheetCount As Long
For SheetCount = 1 To Worksheets.Count
Dim Sh As Worksheet
Worksheets(SheetCount).Activate
With ActiveSheet
 
ActiveWorkbook.Worksheets("K_A").Sort.SortFields.Clear
    ActiveWorkbook.Worksheets("K_A").Sort.SortFields.Add Key:=Range( _
        "G3:G200"), SortOn:=xlSortOnValues, Order:=xlDescending, DataOption:= _
        xlSortNormal
    With ActiveWorkbook.Worksheets("K_A").Sort
        .SetRange Range("A3:G200")
        .Header = xlGuess
        .MatchCase = False
        .Orientation = xlTopToBottom
        .SortMethod = xlPinYin
        .Apply
    End With

End With
Next SheetCount
End Sub


Nie mam w tej chwili dostępu do excela, więc nie mogę tego wypróbować czy działa, ale powinno...
Kod operuje na aktywnych (zaznaczonych) arkuszach.

W razie potrzeby, w poniższej linijce zmień na coś takiego:
1 To 8 Worksheets.Count



Cytat:

makro działało automatycznie po zmianie wartości w kolumnie G ( wartość liczbowa z funkcji MAX (Exx:Fxx) )

jak dla mnie abstrakcja, ale może ktoś inny pomoże

Z pozdrowieniami
napisał: pawik
postów: 1


umieszczony:
27 maja 2009
22:04

  
Witam

mam arkusz "K_A" który jest wypełniony danymi w kolumnach od A do G i 197 wierszy w dół czyli w zakresie od A3:G200.
za pomocą funkcji zarejestruj makro uzyskałem poniższy kod:
Sub sortowanie()
'
' sortowanie Makro
' sortowanie według kolumny G
'
' Klawisz skrótu: Ctrl+m
'
    ActiveWorkbook.Worksheets("K_A").Sort.SortFields.Clear
    ActiveWorkbook.Worksheets("K_A").Sort.SortFields.Add Key:=Range( _
        "G3:G200"), SortOn:=xlSortOnValues, Order:=xlDescending, DataOption:= _
        xlSortNormal
    With ActiveWorkbook.Worksheets("K_A").Sort
        .SetRange Range("A3:G200")
        .Header = xlGuess
        .MatchCase = False
        .Orientation = xlTopToBottom
        .SortMethod = xlPinYin
        .Apply
    End With
End Sub



makro działa ale potrzebuje je udoskonalić i tu pytanie jak je przebudować aby:
1. makro działało automatycznie po zmianie wartości w kolumnie G ( wartość liczbowa z funkcji MAX (Exx:Fxx) )
2. makro działało na 8 arkuszach w ramach jednego pliku (K_A, K_B, K_C, K_D, M_A, M_B, M_C, M_D)
każdy z nich ma tą samą budowę, lecz inne dane.

Z góry dziękuję za pomoc


<-wstecz  1  dalej->
wszystkich stron: 1


Sortuj posty: z