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

  tytuł wątku:
Wątki dyskusji

Modyfikacja makra sortującego arkusze.


otwartyotwarty rozpoczął: jamanow postów: 3



napisał: jamanow
postów: 69


umieszczony:
13 czerwca 2012
20:00

  
Kolejne dzięki.
napisał: Trebor
postów: 1209


umieszczony:
13 czerwca 2012
15:44

  
Do linii porównującej dopisz jak poniżej:
If UCase(Right(Sheets(lCount2).Name, 4)) < UCase(Right(Sheets(lCount).Name, 4)) Then

napisał: jamanow
postów: 69


umieszczony:
12 czerwca 2012
20:24

  
Mam makro, które sortuje arkusze, potrzebuje dokonać zmiany, która umożliwi sortowanie według ostatnich czterech znaków w nazwach sortowanych arkuszy.
cztery ostatnie znaki to "kody" kombinacja cyfr i liter
sortowany ciąg ma być rosnący.

Sub SortSheets()
Dim lCount As Long, lCount2 As Long, lCounted As Long
Dim lShtLast As Long
Dim lReply As Long

lReply = MsgBox("To sort Worksheets ascending, select &#8216;Yes&#8217;. " _
& "To sort Worksheets descending select &#8216;No&#8217;", vbYesNoCancel, "Ozgrid Sheet Sort")
If lReply = vbCancel Then Exit Sub
lShtLast = Sheets.Count
    If lReply = vbYes Then 'Sort ascending
        For lCount = 1 To lShtLast
            For lCount2 = lCount To lShtLast
                If UCase(Sheets(lCount2).Name) < UCase(Sheets(lCount).Name) Then
                    Sheets(lCount2).Move before:=Sheets(lCount)
                End If
            Next lCount2
        Next lCount
    Else: 'Sort descending
     For lCount = 1 To lShtLast
            For lCount2 = lCount To lShtLast
                If UCase(Sheets(lCount2).Name) > UCase(Sheets(lCount).Name) Then
                    Sheets(lCount2).Move before:=Sheets(lCount)
                End If
            Next lCount2
        Next lCount
    End If
End Sub



<-wstecz  1  dalej->
wszystkich stron: 1


Sortuj posty: z