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:
en in "thisworkbook"
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
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
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?
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
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
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
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?