• 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.

VBA code mag niet sorteren op bladnaam, maar op het blad wat openstaat

Status
Niet open voor verdere reacties.

Humadgen

Gebruiker
Lid geworden
16 aug 2006
Berichten
251
Hallo

Ik heb een .xlsx bestandje wat ge"shared" wordt in het team en waarin iedereen een eigen tabje heeft om vragen van clienten op vast te leggen.
Omdat dit ge"shared" is, kan ik hier geen macro's op laten draaien.

Daarom gebruik ik een hulp EXCEL .xlsm bestandje wat nieuwe items toevoegd met formules toevoegd.

De stappen die worden gevolgd zijn:
1. Medewerker gaat naar haar tabje in de Issue log example.xlsx
2. Medewerker gaat via <alt> + <tab> naar het Issue log Menu.xlsm
3. Medewerker drukt op de button om een nieuw item toe te voegen in haar persoonlijke tabje.

Dat gaat allemaal goed, maar de VBA code moet daarna in het tabje ook direct de nieuwe item bovenaanzetten via een sorteer actie, ( ik wil geen INSERT ROW functie gebruiken want dat zorgt voor verwarring op andere bladen met formules)
Het probleem is dus dat : als ik de code opneem dan wordt de "naam van een tabje" in de VBA code opgenomen terwijl het tabje wat openstaat en de nieuwe item heeft gekregen gesorteerd moet worden. ( Vroeger in EXCEL 2003 was dat niet, maar nu EXCEL 2010 wel.)

Code:
Sub voerop()

'   Copy data
    Range("A8:N8").Select
    Selection.Copy

'   Switch to previous EXCEL window
    Windows(2).Activate
    Range("A1").Select
    
'   Find Empty row
    Do
    ActiveCell.Offset(1, 0).Select
    Loop Until IsEmpty(ActiveCell.Offset(0, 0))

'   Paste data
    ActiveSheet.Paste

'   Sort Sheet
    Columns("A:N").Select
    ActiveWorkbook.Worksheets("Patricia").Sort.SortFields.Clear
    ActiveWorkbook.Worksheets("Patricia").Sort.SortFields.Add Key:=Range( _
        "D:D"), SortOn:=xlSortOnValues, Order:=xlDescending, DataOption:= _
        xlSortNormal
    ActiveWorkbook.Worksheets("Patricia").Sort.SortFields.Add Key:=Range( _
        "A:A"), SortOn:=xlSortOnValues, Order:=xlDescending, DataOption:= _
        xlSortNormal
    With ActiveWorkbook.Worksheets("Patricia").Sort
        .SetRange Range("A:N")
        .Header = xlYes
        .MatchCase = False
        .Orientation = xlTopToBottom
        .SortMethod = xlPinYin
        .Apply
    End With

End Sub

Iemand een oplossing hoe ik dat kan ontwijken? In het bovenstaande VBA voorbeeld wil ik dus feitelijk af van de naam Patricia

Thanks
Humadgen
 

Bijlagen

Wijzig deze regel:
Code:
ActiveWorkbook.Worksheets("Patricia")
in
Code:
ActiveSheet
 
Status
Niet open voor verdere reacties.
Terug
Bovenaan Onderaan