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

macro voor wisselen tussen tabladen

Status
Niet open voor verdere reacties.

Avalondra

Gebruiker
Lid geworden
9 jan 2009
Berichten
150
Ik had een vraag over hoe je doormiddel van een macro
naar het vorige of volgende tablad kan gaan zonder voor iedere pagia een andere macro te gebruiken.


Groeten AvA
 
Hmm, nou ben ik niet zo'n Excel-er, dus mogelijk is er een sneller manier:
Code:
Sub NextSheet()
  Dim wb As Workbook
  Dim i As Integer
    Set wb = ActiveWorkbook
    For i = 1 To wb.Sheets.Count
        If wb.ActiveSheet.Name = wb.Sheets.Item(i).Name Then
            If i = wb.Sheets.Count Then
                wb.Sheets(1).Select
            Else
                wb.Sheets(i + 1).Select
            End If
            Exit For
        End If
    Next
    Set wb = Nothing
End Sub
 
Met de CTRL-PgUp en CTRL-PgDn kan je ook naar een vorige of volgende werkblad.

De macro kan inderdaad wat korter.

Code:
Sub VolgendeWerkblad()
Worksheets(ActiveSheet.Index + 1).Activate
End Sub

Code:
Sub VorigeWerkblad()
Worksheets(ActiveSheet.Index - 1).Activate
End Sub

Met vriendelijke groet,


Roncancio
 
Ah, ik wist niet dat er een ActiveSheet.Index was. Uiteraard mis je nu wel de controle op voor het einde waardoor je een subscript error krijgt. Dus nog wel even een controle eromheen
Code:
Sub VolgendeWerkblad()
   If ActiveSheet.Index < Worksheets.Count Then
      Worksheets(ActiveSheet.Index + 1).Activate
   Else
     'alleen als je terug naar het begin wilt.
      Worksheets(1).Activate
   End If
End Sub
 
Ah, ik wist niet dat er een ActiveSheet.Index was. Uiteraard mis je nu wel de controle op voor het einde waardoor je een subscript error krijgt. Dus nog wel even een controle eromheen
Code:
Sub VolgendeWerkblad()
   If ActiveSheet.Index < Worksheets.Count Then
      Worksheets(ActiveSheet.Index + 1).Activate
   Else
     'alleen als je terug naar het begin wilt.
      Worksheets(1).Activate
   End If
End Sub

Inderdaad.:thumb:
Misschien toch maar CTRL-PgUp en CTRL-PgDn gebruiken?:cool::p

Met vriendelijke groet,


Roncancio
 
mercie

bedankt voor de tips

ik zal kijken wat ik kan gebruiken.

en sorry maar ctrl page up en down is niet hetgeen ik moet hebben want het moet aangeven naar een vorige week of volgende week te gaan.


Greetz AvA
 
Status
Niet open voor verdere reacties.
Terug
Bovenaan Onderaan