Bekijk de onderstaande video om te zien hoe je onze site als een web app op je startscherm installeert.
Opmerking: Deze functie is mogelijk niet beschikbaar in sommige browsers.
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.
Klik in de code op zo'n sleutelwoord en dan F1 en train jezelf.Ik heb het gevoel dat de oplossing heel dicht bij ligt, en ik ben aan het proberen wat je schrijft, maar zoals eerder gezegd ik ben niet goed in het begrijpen van VBA code met Option Explicit, Private Sub, Public Sub. ( Ik zou daar echt eens een training in willen krijgen.)
Op de logische plek gezocht maar excel is niet altijd even logisch. Selecteer een plaatje en wijzig de naam in het Naamvak (links van de formulebalk).Maar ik zie niet hoe ik bij de naam van het plaatje een PREFIX wegzet. ( Ik heb geprobeerd om op de plaatjes met rechts te klikken en hoopte dan iets te vinden om de naam te wijzigen, maar daar zie ik niets wat ik kan gebruiken.)
Option Explicit
Private Const PREFIX As String = "SPONSOR-"
Private dTime As Double
Private mlShape As Long
Public Sub StartShow()
If mlShape = 0 Then
VerbergSponsors
mlShape = 1
Sheet2.Shapes(mlShape).Visible = msoTrue
End If
dTime = Now + TimeValue("00:00:04")
Application.OnTime dTime, "VolgendeSponsor"
End Sub
Public Sub StopShow()
Application.OnTime dTime, Procedure:="VolgendeSponsor", Schedule:=False
ToonSponsors
mlShape = 0
End Sub
Private Sub VolgendeSponsor()
Dim i As Long
With Sheet2.Shapes
.Item(mlShape).Visible = msoFalse
Do
mlShape = mlShape + 1
If mlShape > .Count Then mlShape = 1
If Left(.Item(mlShape).Name, Len(PREFIX)) = PREFIX Then Exit Do
Loop
.Item(mlShape).Visible = msoTrue
End With
Call StartShow
End Sub
Private Sub VerbergSponsors()
Dim i As Long
For i = 1 To ActiveSheet.Shapes.Count
With ActiveSheet.Shapes(i)
If Left(.Name, Len(PREFIX)) = PREFIX Then
.Left = 50
.Top = 50
.Visible = msoFalse
End If
End With
Next i
End Sub
Private Sub ToonSponsors()
Dim i As Long
For i = 1 To ActiveSheet.Shapes.Count
With ActiveSheet.Shapes(i)
If Left(.Name, Len(PREFIX)) = PREFIX Then
.Left = 50 + i * 25
.Top = 50 + i * 25
.Visible = msoTrue
End If
End With
Next i
End Sub
Public dTime As Double
Public Sub volgende()
y = 1 '= y heeft waarde 1
For j = 1 To Sheet2.Pictures.Count '= j is een variable waarde tussen 1 en het aantal plaatjes op sheet2 geteld kan worden.
If Sheet2.Pictures(j).Visible Then y = j '= Indien op sheet2 j aantal plaatjes staan, dan wordt de waarde van y gelijk aan j
'(in plaats van de eerder gedeclareerde waarde 1)
Sheet2.Pictures(j).Visible = msoFalse '= en laat je van sheet 2 het plaatje zien.
Next 'volgende routine = nieuwe plaatje laten zien
Sheet2.Shapes((y + 1) Mod Sheet2.Shapes.Count + 1).Visible = msoTrue 'Dit doet iets met de MOD operator ( maar ik snap MOD niet)
dTime = Now + TimeValue("00:00:04") 'dit is de time interval
Application.OnTime dTime, "volgende" 'hier wordt na de tijds interval de volgende Public sub gestart na 4 seconden
End Sub
, want ik vergat steeds op <Enter> te drukken.Selecteer een plaatje en wijzig de naam in het Naamvak (links van de formulebalk).
Public Sub StartShow()
If mlShape = 0 Then
' VerbergAlles
mlShape = 1
Sheet2.Shapes(mlShape).Visible = msoTrue
End If
dTime = Now + TimeValue("00:00:02")
Application.OnTime dTime, "VolgendeSponsor"
End Sub
Heb je wel de laatste versie gebruikt? In #22 staat geen VerbergAlles maar VerbergSponsorsdoor een ' voor VerbergAlles te zetten
Vervang VerbergSponsors door een procedure UpdateSponsors die:Het idee dat de plaatjes van een ander blad komen spreekt me namelijk nog meer aan omdat ik dan volgens mij nog eenvoudiger de sponsoren kan ( laten ) bijhouden door de jeugdcommissie.
We gebruiken essentiële cookies om deze site te laten werken, en optionele cookies om de ervaring te verbeteren.