• Privacywetgeving
    Het is bij Helpmij.nl niet toegestaan om persoonsgegevens in een voorbeeld te plaatsen. Alle voorbeelden die persoonsgegevens bevatten zullen zonder opgaaf van reden verwijderd worden. In de vraag zal specifiek vermeld moeten worden dat het om fictieve namen gaat.

Macro niet uitvoeren in eerste drie tabbladen, rest wel.

Status
Niet open voor verdere reacties.

Partis

Gebruiker
Lid geworden
3 sep 2008
Berichten
62
Beste,

Ik heb een macro die van alle tabbladen een bepaalde range van rijen automatisch op datum sorteert. Nu wil ik dat de eerste drie tabbladen niet worden gesorteerd. Wie kan mij helpen.

Dit is mijn script:

Private Sub Workbook_SheetChange(ByVal Sh As Object, ByVal Target As Range)
For Each Sh In ThisWorkbook.Sheets
Select Case Sh.Name
Case "Naam Eerste Blad"
Case Else
Sh.Range("A27:c150").Sort Key1:=Sh.Range("a27"), Order1:=xlDescending
End Select
Next
End Sub
 
Je had 'm in feite al zo goed als:
Code:
Private Sub Workbook_SheetChange(ByVal Sh As Object, ByVal Target As Range)
For Each Sh In ThisWorkbook.Sheets
    Select Case Sh.Name
        Case "<naam van blad1>", "<naam van blad2>", "<naam van blad3>"
        Case Else
            Sh.Range("A27:C150").Sort Key1:=Sh.Range("A27"), Order1:=xlDescending
    End Select
    Next
End Sub
 
Dag Conseclusie,

Dank voor je reactie. Ik heb de code ingevoerd, maar hij blijft in alle 3 de bladen de rijen op chronologisch volgorde en bovenaan plaatsen vanaf A27.
Zie hieronder zoals ik de code heb ingevoerd...
Naamloos-3.jpg

Wat gaat er fout?
 
De tabblad-namen dien je over te nemen met alleen " eromheen, dus zonder < of >.
Voeg anders even een voorbeeldbestand toe; da's handiger dan plaatjes.
 
Je hebt de event-macro in een "gewone" module gehangen. Verwijder deze module in z'n geheel.
Onder "ThisWorkbook" moet de volgende macro gehangen worden:
Code:
Private Sub Workbook_SheetChange(ByVal Sh As Object, ByVal Target As Range)
For Each Sh In ThisWorkbook.Sheets
    Select Case Sh.Name
        Case "Lijst", "actie", "Afspraken"
        Case Else
            Sh.Range("A27:C150").Sort Key1:=Sh.Range("A27"), Order1:=xlDescending
    End Select
    Next
End Sub
 
Dag Conseclusie,

Ja! Nu is het gelukt. Hartstikke bedankt!!!

Groeten, Partis
 
Status
Niet open voor verdere reacties.
Terug
Bovenaan Onderaan