• 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 koppelen aan huidige tabblad

Status
Niet open voor verdere reacties.

ewaldmauritz

Gebruiker
Lid geworden
19 okt 2011
Berichten
87
Onderstaande code heb ik gemaakt/opgenomen. De knop waar deze macro achterzit werkt echter alleen op het tabblad met de naam die in cel Inlogpagina!E4 staat. Maar deze knop wil ik graag gebruiken op meerdere tabbladen. Dan moet ik wel meerdere macro's maken waar ik steeds verwijs naar een andere cel.
Hoe kan de macro zo verbouwd worden dat deze steeds geldig is op het tabblad waar de knop in staat?

Code:
Sub Sorteren_project()
'
' Sorteren Macro
'
    With Sheets(Range("Inlogpagina!E4").Value)
    Range("A8:FI57").Select
    ActiveWorkbook.Worksheets(Range("Inlogpagina!E4").Value).Sort.SortFields.Clear
    ActiveWorkbook.Worksheets(Range("Inlogpagina!E4").Value).Sort.SortFields.Add Key:=Range("D8:D57") _
        , SortOn:=xlSortOnValues, Order:=xlAscending, DataOption:=xlSortNormal
    With ActiveWorkbook.Worksheets(Range("Inlogpagina!E4").Value).Sort
        .SetRange Range("A8:FI57")
        .Header = xlGuess
        .MatchCase = False
        .Orientation = xlTopToBottom
        .SortMethod = xlPinYin
        .Apply
    End With
    Range("D8").Select
    End With
End Sub
 
Denk dat dit voldoende is als uw sleutel en bereik goed is:

Code:
Sub Sorteren_project()
'
' Sorteren Macro
'
    With ActiveSheet
        .Range("A8:FI57").Select
        .Sort.SortFields.Clear
        .Sort.SortFields.Add Key:=.Range("D8:D57"), SortOn:=xlSortOnValues, Order:=xlAscending, DataOption:=xlSortNormal
    End With
End Sub
 
Bedankt voor je reactie. Helaas werkte het niet helemaal, maar ik heb het iets veranderd. En nu werkt het wel. Probleem opgelost dus.

Code:
Sub Sorteren_project_test()
'
' Sorteren Macro
'
    With ActiveSheet
        .Range("A8:FI57").Select
        .Sort.SortFields.Clear
        .Sort.SortFields.Add Key:=.Range("D8:D57"), SortOn:=xlSortOnValues, Order:=xlAscending, DataOption:=xlSortNormal
    With ActiveSheet.Sort
        .SetRange Range("A8:FI57")
        .Header = xlGuess
        .MatchCase = False
        .Orientation = xlTopToBottom
        .SortMethod = xlPinYin
        .Apply
    End With
    Range("D8").Select
    End With
End Sub
 
Status
Niet open voor verdere reacties.
Terug
Bovenaan Onderaan