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

Automatisch tabbladen switchen with VBA code

Status
Niet open voor verdere reacties.

dennisguido

Gebruiker
Lid geworden
19 nov 2010
Berichten
21
Hallo,

Ik ben op zoek naar iemand die mij kan helpen met een vba code voor het automatisch laten wisselen van tabbladen.
In feite moet een excel fungeren als powerpoint.

Waarom in Excel.
Het is voor een toernooi, waarbij alle recente uitslagen en tussenstanden worden vermeld op de verschillende tabbladen.
De uitslagen worden ingevuld in excel en op het volgende tabblad wordt automatisch de tussenstand berekend.

Ik heb ooit een vba code hiervoor gehad (kwijt geraakt), mijn kennis hiervan is nihil, vandaar dat ik om hulp vraag.
ALs het mogelijk is zou ik ook graag willen toepassen dat als ik met de muis beweeg dat het wisselen van tabbladen stopt, waarom?

Dit is bijvoorbeeld als ik uitslagen wil invullen die na 15 seconden automatisch weer wisselt, wat vervelend en onhandig is.

Kan iemand mij hierbij helpen?

Alvast bedankt,
 
Probeer het hier eens mee :)

PS: Ik weet zeker dat hij kan wisselen tussen de bladen op deze manier, ik weet alleen niet of de pauze functie werkt.
Dit schijnt alleen op 32bit mogelijk te zijn (ik heb 64)

Code:
Option Explicit
 Private Declare AppSleep Lib "kernel32" Alias "Sleep" (ByVal dwMilliseconds As Long)

 
Public Sub PauseApp(PauseInSeconds As Long)
    
    Call AppSleep(PauseInSeconds * 1000)
    
End Sub

Sub LoopThroughSheets()
    
   Dim ws As Worksheet
    Dim count As Integer
    Dim currentsheet As Integer
    currentsheet = 1
        count = ActiveWorkbook.Worksheets.count
        
        Do
         
         
       If currentsheet = "1" Then
       Sheets("Blad1").Activate
        
       ElseIf currentsheet = "2" Then
      
       Sheets("Blad2").Activate
       ElseIf currentsheet = "3" Then
       Sheets("Blad3").Activate
       End If
         currentsheet = currentsheet + 1
        
              PauseApp 3
       MsgBox (currentsheet)
      
        Loop Until currentsheet = count + 1
        
   
         
         '***********************
         
  
End Sub


I.p.v de sleep API kan je natuurlijk ook een timer starten die 5 seconde loopt

dan krijg je:

Code:
Option Explicit
 Dim ws As Worksheet
    Dim count As Integer
    Dim currentsheet As Integer
   Dim TT As Integer
        
Sub LoopThroughSheets()
  
   
        count = ActiveWorkbook.Worksheets.count
  If TT = 5000 Then
  
  
        Do
             
         
       If currentsheet = "0" Then
       Sheets("Blad1").Activate
        
       ElseIf currentsheet = "1" Then
      
       Sheets("Blad2").Activate
       ElseIf currentsheet = "2" Then
       Sheets("Blad3").Activate
       End If
         currentsheet = currentsheet + 1
        

       MsgBox (currentsheet)
      If currentsheet = count + 1 Then
      TT = 0
      End If
      
        Loop Until currentsheet = count + 1
        
   End If
         
         '***********************
         
  
End Sub

en in de timer (die elke miliseconde tikt):

Code:
TT = TT + 1
LoopThroughSheets()
 
Laatst bewerkt:
Status
Niet open voor verdere reacties.
Terug
Bovenaan Onderaan