De cursor verdwijnt n.a.v. een vba-code

Status
Niet open voor verdere reacties.

Robert Smidt

Gebruiker
Lid geworden
26 mei 2009
Berichten
901
Beste Helpmij'ers,

Onlangs heb ik hier een code ontvangen die prima zijn werk doet, echter heeft deze als nadeel dat de cursor in Excel verdwijnt. Nu las ik ergens dat je dat via Fn F9 weer kan oproepen en dat werkt inderdaad. Graag zou ik een vba-code willen gebruiken die de cursor automatisch weer activeert nadat ik onderstaande code heb gebruikt.

Code:
If ActiveSheet.Name <> ws Then Sheets(ws).Activate

Alvast heer erg bedankt.

Robert
 
Dat regeltje code doet niets met de cursor.
 
Dat dacht ik ook, maar wanneer ik deze code eruit haal, dan blijft de cursor wel zichtbaar, wellicht heeft het met Excel 2019 te maken, hiervoor had ik hier nooit last van.
 
Zet er dit eens onder:
Code:
Range("A1").Activate
Wat gebeurt er dan?

Het tonen van 1 regeltje code is nooit voldoende omdat dit meer gevolgen kan hebben.
De Sheets(ws).Activate triggert ook het Worksheet_Activate event.
Staat daar misschien iets in dat het veroorzaakt?
 
Helaas werkt jouw voorstel niet. De cursor blijft onzichtbaar, alleen wanneer ik Fn F9 aanklik, wordt deze weer zichtbaar. Ik zelf was van mening dat voorgaande functietoetsen ook geactiveerd kan worden d.m.v. een vba-code.
 
Ik zie nu dat misschien de volgende regel (ook) verantwoordelijk is voor het probleem.
Code:
ws = ActiveSheet.Name
 
Als dat zo is zou het een bug zijn.
Plaats dat document eens.
 
Het is een enorm groot programma. Omdat ik sinds een paar dagen met Excel 2019 werk heb ik meerdere problemen die ik met Excel 2010 niet had. Ik zal je anders nog even de hele code sturen die ik onlangs ook heb gestuurd. Het zal mij niet verbazen dat een ander gedeelte van de code het probleem is.

Code:
Sub Macroinschakelen()
    Dim ws As String
    ws = ActiveSheet.Name
    Application.ScreenUpdating = False
    
    If Sheets("Mutaties").[BZ1].Value = False Then
        'script uitschakelen (voor alle werkbladen)
        For Each Sh In ThisWorkbook.Sheets
            Sh.Unprotect
            Application.EnableEvents = False
        Next Sh
    Else
        'script inschakelen (voor alle werkbladen)
        For Each Sh In ThisWorkbook.Sheets
            Sh.protect AllowFiltering:=True
            Application.EnableEvents = True
        Next Sh
    End If
    If ActiveSheet.Name <> ws Then Sheets(ws).Activate 'Deze code zorgt ervoor dat de cursor niet naar het laatste werkblad verspringt
End Sub
 
Volgens mij heb ik de boosdoener, het is de code die de werkbladen beveiligd.

Code:
Sh.protect AllowFiltering:=True
 
Status
Niet open voor verdere reacties.
Terug
Bovenaan Onderaan