• 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 switchen naar ander blad

Status
Niet open voor verdere reacties.

Heinoet

Gebruiker
Lid geworden
17 apr 2001
Berichten
33
Ik wil graag een macro maken om op basis van een waarde uit een cel te springen naar een ander tabblad.
Dus als A1 = 1 --> Blad2
als A1 = 2 --> Blad3
als A1 = 3 --> Blad4
 
Weet dat het niet de mooiste oplossing is maar het werkt wel.
tjek de file.

Groet,
Ferenc
 

Bijlagen

Je kan de code ook vervangen door deze:

Code:
Private Sub Worksheet_SelectionChange(ByVal Target As Range)

    Select Case Sheets("Blad1").Range("A1")
        Case 1
            Sheets("Blad2").Activate
        Case 2
            Sheets("Blad3").Activate
        Case 3
            Sheets("Blad4").Activate
    End Select
    
End Sub

Deze is wat korter en makkelijker aan te passen.

Groet,
Ferenc
 
- Hoe werkt deze oplossing?
- De bedoeling is eigenlijk dat er nog op een OK-button wordt geklikt, waarna een macro er voor zorgt dat het juiste blad wordt geselecteerd.
 
De hiervoor voorgestlede coden werken op blad 1.
Als je hier in cel a1 je getal invuld en een andere cel selecteerd dan wordt de code uitgevoerd. De code staat op het tabblad en niet in een module (rechtermuisknop op je tabblad en 'programmacode weergeven')

De volgende code werkt met een knop:
Code:
Sub ga_naar_werkblad ()

    If Range("A1") > 0 Then
        Sheets("Blad" & Range("A1") + 1).Activate
    End If

End Sub

Zet op je werkblad een knop en koppel deze code eraan.
Hij kijkt in cel A1 en als deze groter is dan 0 dan wordt er geschakeld naar een tabblad met naam: Blad + Range(a1) verhoogt met 1
vb
in cel a1 staat 1 dan wordt eer gegaan naar tabblad Blad2 (Blad + 1 (A1 = 1) + 1)
zo hoef je alleen je tabbladen met de zelfde naam en een oplopend nummer te maken.

Groet,
Ferenc
 

Bijlagen

Laatst bewerkt:
Hello mensen

ik zou deze macro gebruiken:

Code:
Private Sub Worksheet_Change(ByVal Target As Range)
Dim wsh As Worksheet, gevonden As Boolean
    If Target.Count = 1 And IsNumeric(Target) And Target.Address = "$A$1" Then
        gevonden = False
        For Each wsh In ThisWorkbook.Worksheets
            If wsh.Name = "Blad" & Target + 1 Then
                gevonden = True
                Exit For
            End If
        Next
        
        If gevonden Then
            If MsgBox("Wil je naar blad " & Target + 1 & " springen?", vbYesNo, "Navigatie") = vbYes Then
                Sheets("Blad" & Range("A1") + 1).Activate
            Else
                Target.Select
            End If
        Else
                MsgBox "Blad " & Target + 1 & " bestaat niet.", vbCritical
                Target.Select
        End If
    End If
End Sub

Het wordt uitgevoerd als er iets wordt getypt in A1.

Wigi
 
Status
Niet open voor verdere reacties.
Terug
Bovenaan Onderaan