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

blad activeren via keuze lijst

Status
Niet open voor verdere reacties.

Doohan

Gebruiker
Lid geworden
20 mrt 2012
Berichten
377
Geachte helper

Ik heb een speadsheet met meerdere werkbladen. ieder werkblad vertegenwoordigt info per collega. op het 1ste blad van de spreadsheet heb ik een besturingselement keuzelijst met de namen van de collega's
aan het besturingselement heb ik een macro toegewezen. De bedoeling van de macro is dat als ik een naam uit de keuzelijst kies dan moet het juiste blad geactiveerd worden.
Nu is het zo dat zodra ik de besturingselement selecteer altijd hetzelfde blad opent wij kan mij op weg helpen.

Ik ben nog wel een dummy in VBA dus visuele voorbeelden ben ik gek op

Alvast bij voorbaat dank
 
Dat hangt een beetje van de ordening van de bladen af. Als de volgorde in de dropdownlijst exact overeenkomt met de volgorde van de bladen kun je zoiets als:

sheets(dropdown.selectedindex+1).activate

gebruiken. Maar het is dus afhankelijk van de opbouw van je file
 
alle bladen staan door elkaar en hebben hun eigen unieke naam
 
Code:
Private Sub Worksheet_Activate()
     For i = 2 To Worksheets.Count
        aSheets = aSheets & Sheets(i).Name & "|"
    Next
    ActiveSheet.OLEObjects("Combobox1").Object.List = WorksheetFunction.Transpose(Split(aSheets, "|"))
End Sub

Private Sub ComboBox1_Change()
    Application.Goto Sheets(ComboBox1.ListIndex + 2).Range("A1")
End Sub

Dit is voor een ActiveX-besturingselement (Combobox) en de code gaat in de bladmodule van je voorblad. Voorwaarde is dat je voorblad het 1ste blad is in de reeks.
 
ik ga het proberen

Code:
Private Sub Worksheet_Activate()
     For i = 2 To Worksheets.Count
        aSheets = aSheets & Sheets(i).Name & "|"
    Next
    ActiveSheet.OLEObjects("Combobox1").Object.List = WorksheetFunction.Transpose(Split(aSheets, "|"))
End Sub

Private Sub ComboBox1_Change()
    Application.Goto Sheets(ComboBox1.ListIndex + 2).Range("A1")
End Sub

Dit is voor een ActiveX-besturingselement (Combobox) en de code gaat in de bladmodule van je voorblad. Voorwaarde is dat je voorblad het 1ste blad is in de reeks.

Dank u zeer ik ga hiermee aan de gang
 
Status
Niet open voor verdere reacties.
Terug
Bovenaan Onderaan