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

2 vba code combineren op 1 blad

Status
Niet open voor verdere reacties.

shalhevet

Gebruiker
Lid geworden
9 okt 2007
Berichten
245
Hoi,

In mijn index pagina heb ik de volgende code:

Code:
Public AllShts

Sub Hide_UnHIde_Wk01()

        AllShts = "Week01"
        
        Hide_UnHIde
    
End Sub

Code:
Sub Hide_UnHIde()

Application.ScreenUpdating = False

    Dim wb As Workbook

        Set wb = ActiveWorkbook

        wb.Sheets(AllShts).Visible = Not wb.Sheets(AllShts).Visible
        
Application.ScreenUpdating = True
    
End Sub

Dit om te zorgen dat alle andere werkbladen zijn verborgen. Als ik op de letter a klik in de index pagina wordt de tabblad genaamd a zichtbaar.

Nu wil ik (ook in de index pagina) de volgende code toevoegen:

Code:
Private Sub Worksheet_BeforeDoubleClick(ByVal Target As Range, Cancel As Boolean)

If Target.Address = "$L$27" Then
Blad28.Activate
            ActiveSheet.Range("A1").Select
End If

End Sub

Dit om te zorgen dat wanneer ik dubbel klik op de letter a spring ik direct naar de juiste tabblad.

Nu zou ik deze twee codes willen combineren zodat bij het dubbel klikken op de letter wordt de tabblad zichtbaar en spring ik direct deze tabblad... maar, als ik nogmaals op de letter a klik in de index pagina (terwijl de tabblad a al zichtbaar is) wil ik dat hij de tabblad verbergt en niet naar springt.

Is dat mogelijk wat ik wil? En hoe kan ik het doen?

Alvast bedankt
 
Laatst bewerkt door een moderator:
Zoiets, voor zover ik het heb begrepen.

In moduleblad "Index".

Code:
Private Sub Worksheet_BeforeDoubleClick(ByVal Target As Range, Cancel As Boolean)
With Target
 If .Address = "$L$27" Then
   Sheets(.Value).Visible = Not Sheets(.Value).Visible
     On Error Resume Next
   Application.Goto Sheets(.Value).Range("A1")
  End If
 End With
 Cancel = True
End Sub
 
Ohh geweldig!!!

Precies zoals ik het bedoelde!

Super super bedankt hiervoor :-)
 
maar nu loop ik tegen het volgende probleem,

ik heb natuurlijk meerdere regels maar ik krijg het niet voor elkaar.

De voorbeeld in mijn vorige post ging over cel L27.

Nu heb ik hetzelfde maar dan voor cel L25, G23 B13 en ga zo door.

Hoe kan ik de code laten werken voor alle cellen?
 
Ok, ik heb het gevonden.

Voor een ander die het misschien ook wil weten:

Code:
Private Sub Worksheet_BeforeDoubleClick(ByVal Target As Range, Cancel As Boolean)
With Target
 If .Address = "$L$27" Then
   Sheets(.Value).Visible = Not Sheets(.Value).Visible
     On Error Resume Next
   Application.Goto Sheets(.Value).Range("A1")
  End If
 End With
 Cancel = True
 
 With Target
 If .Address = "$B$13" Then
   Sheets(.Value).Visible = Not Sheets(.Value).Visible
     On Error Resume Next
   Application.Goto Sheets(.Value).Range("A1")
  End If
 End With
 Cancel = True
 
  With Target
 If .Address = "$L$25" Then
   Sheets(.Value).Visible = Not Sheets(.Value).Visible
     On Error Resume Next
   Application.Goto Sheets(.Value).Range("A1")
  End If
 End With
 Cancel = True
End Sub

Hartelijk dank voor de hulp :thumb:
 
Zo dan?

Code:
Private Sub Worksheet_BeforeDoubleClick(ByVal Target As Range, Cancel As Boolean)
With Target
 If Not Intersect(Target, Range("B13, G23, L25, L27")) Is Nothing Then
   Sheets(.Value).Visible = Not Sheets(.Value).Visible
     On Error Resume Next
   Application.Goto Sheets(.Value).Range("A1")
  End If
 End With
 Cancel = True
End Sub
 
hahaha, kun je zien dat je veel gevorderder bent dan ik :-)

is idd veel korter en makkelijker om het op deze manier te doen!

Super bedankt :-)
 
Status
Niet open voor verdere reacties.

Nieuwste berichten

Terug
Bovenaan Onderaan