Avatar billede dego Novice
17. februar 2015 - 18:46 Der er 6 kommentarer og
1 løsning

Worksheet deactivate

Jeg har denne kode i en makro på en knap hvor den fungerer fint

Sub Opdater
    Sheets("ark1").Select
    Range("B2:o200").Select
    ActiveWorkbook.Worksheets("ark1").Sort.SortFields.Clear
    ActiveWorkbook.Worksheets("ark1").Sort.SortFields.Add Key:=Range("B2"), _
        SortOn:=xlSortOnValues, Order:=xlAscending, DataOption:=xlSortNormal
    With ActiveWorkbook.Worksheets("ark1").Sort
        .SetRange Range("B2:o200")
        .Header = xlNo
        .MatchCase = False
        .Orientation = xlTopToBottom
        .SortMethod = xlPinYin
        .Apply
    End With
Range("b2").select
    End Sub

Kan jeg få den til at køre automatisk når arket forlades, jeg har forsøgt at kopiere den ind under worksheet Deactivate, men der fejler den?
Avatar billede kabbak Professor
17. februar 2015 - 18:53 #1
sæt denne i arket

Private Sub Worksheet_Deactivate()
Call Opdater
End Sub
Avatar billede dego Novice
17. februar 2015 - 20:21 #2
Det virker, men der sker det samme som hvis jeg indsætter koden direkte i Deactivate, dvs. Range("b2").select placerer markøren i det ark jeg skifter til og ikke i det ark der netop er blevet sorteret?
18. februar 2015 - 09:14 #3
Ret linjen:
Range("b2").select
til:
Sheets("arkX").Range("b2").select
Avatar billede dego Novice
18. februar 2015 - 11:17 #4
Det ændrer desværre ikke noget.

Makroen virker fortsat fint, men, jeg får en runtime error 1004 så snart jeg kalder makroen fra Deactivate og linjen Sheets("ark1").Range("b2").Select farves gul.

Hvis jeg i Deactivate i stedet ændrer linjen Sheets("ark1").Range("b2").Select til at vælge ark 2, ark3 osv. virker den fint, men det er i ark1 som netop er blevet sorteret, jeg ønsker markøren placeret.
Avatar billede Mads Larsen Nybegynder
18. februar 2015 - 13:38 #5
Du kan ikke ændre "select", medmindre du er på det ark som er aktiv.

Kan du ikke sætte Range("B2").select i din worksheet.activate istedet?
Avatar billede dego Novice
18. februar 2015 - 14:11 #6
Rigtig god ide og det virker efter hensigten.

Beklager hvis jeg ikke var tydelig nok omkring, hvorfor B2 skulle vælges ved afslutning af koden, årsagen er jeg ikke vil have en markering af 200 ubeskyttede celler, når en bruger åbner fanen igen.

Tak til alle, må jeg bede om et svar til point?
Avatar billede Mads Larsen Nybegynder
18. februar 2015 - 14:22 #7
Her er et svar.

Bruger det på samme måde, men har det altid til at stå i worksheet.activate :)
Avatar billede Ny bruger Nybegynder

Din løsning...

Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.

Loading billede Opret Preview
Kategori
Vi har et stort udvalg af Excel kurser. Find lige det kursus der passer dig lige her.

Log ind eller opret profil

Hov!

For at kunne deltage på Computerworld Eksperten skal du være logget ind.

Det er heldigvis nemt at oprette en bruger: Det tager to minutter og du kan vælge at bruge enten e-mail, Facebook eller Google som login.

Du kan også logge ind via nedenstående tjenester