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

terugkeren naar het blad waar vanruit de macro is geactiveerd.

Status
Niet open voor verdere reacties.

ralphnag

Gebruiker
Lid geworden
16 jun 2012
Berichten
66
ik heb een macro die word geactiveerd door een knop die op alle toekomstige bladen komt te staan behalve op blad 1 en blad 2.
Als de macro uitgevoerd is wil ik graag dat je terug keert naar het blad van waar de macro geactiveerd is.

ik doe er een voorbeeld van het bestandje tot nu toe bij.

Ik had het volgende, uit topic "Via macro terugkeren naar vorige worksheet"
ik heb in "module 1" geplaatst.

Code:
Code:
Option Explicit
Public VorigBlad As String.

Sub opslaan_zonder_afsluiten()
'
' opslaan zonder afsluiten
'open sheet 1
    Dim i As Long
    Blad2.Visible = True
'sluit alle ander sheets
    For i = 2 To Sheets.Count
    Sheets(i).Visible = False
    Next i
'opslaan
    ActiveWorkbook.Save
' open alle sheets
    For i = 2 To Sheets.Count
    Sheets(i).Visible = True
    Next i
'sluit sheet 1 en 2
    Blad1.Visible = False
    Blad2.Visible = False
'terug keren naar sheet waar macro gestart is.
    Dim sh       As Worksheet
    On Error Resume Next
    Set sh = Sheets(VorigBlad)
    On Error GoTo 0
End Sub

en in "thisworkbook"

Code:
Private Sub Workbook_SheetDeactivate(ByVal sh As Object)
  VorigBlad = sh.Name
End Sub
Nu werkt de macro, alleen hij gaat steeds terug naar blad 3 ook als ik op blad 4 de knop indruk.

als ik de volgende code er bij zet zoals hij in het topic "Via macro terugkeren naar vorige worksheet" stond
Code:
      If sh Is Nothing Then
    MsgBox "er kan niet worden teruggekeerd, blad bestaat niet " & VorigBlad
  Else
    MsgBox "ik ga nu van " & ActiveSheet.Name & " naar " & VorigBlad
    sh.Activate
    End If
dan zegt hij dat hij van blad3 naar blad2("geen toegang") wil gaan, deze word door de macro in mijn bestandje geopend.

Hierop heb ik de code aangepast.
door het stukje wat terugkeert naar de laatst geopende pagina, voor het openen van de pagina s te zetten hoopte ik dat hij wel deed wat ik wil.
Niet dus, nu gaat hij steeds terug naar blad 4 en ik snap niet waarom

aangepaste code

Code:
Sub opslaan_zonder_afsluiten()
'
' opslaan zonder afsluiten
'open sheet 1
    Dim i As Long
    Blad2.Visible = True
'sluit alle ander sheets
    For i = 2 To Sheets.Count
    Sheets(i).Visible = False
    Next i
'opslaan
    ActiveWorkbook.Save
' open alle sheets
    For i = 2 To Sheets.Count
    Sheets(i).Visible = True
    Next i
'terug keren naar sheet waar macro gestard is.
    Dim sh       As Worksheet
    On Error Resume Next
    Set sh = Sheets(VorigBlad)
    On Error GoTo 0
      If sh Is Nothing Then
    MsgBox "er kan niet worden teruggekeerd, blad bestaat niet " & VorigBlad
  Else
    MsgBox "ik ga nu van " & ActiveSheet.Name & " naar " & VorigBlad
    sh.Activate
    End If
'sluit sheet 1 en 2
    Blad1.Visible = False
    Blad2.Visible = False

End Sub
wat gebeurt hier? en hoe los ik dit op.

Ik denk zelf dat ik aan het begin van de code een regel moet maken die bepaalt op welk blad de code gestart word en op het einde een code die zorgt dat hij naar die pagina terug gaat.

maar ik heb geen idee hoe dat moet. iemand een idee?
 

Bijlagen

  • 1 gebruiker.xlsm
    43,5 KB · Weergaven: 47
Status
Niet open voor verdere reacties.
Steun Ons

Nieuwste berichten

Terug
Bovenaan Onderaan